‘壹’ python plot画点
我先假设你用的是python(虽然我感觉像是matlab)
importmatplotlib.pyplotasplt
plt.plot(x,y,'ro',label="point")
plt.legend()
plt.show()
这里legend可以显示图示
如果是matlab 你直接标legend=xxxx就行了 可以查一下用法
‘贰’ python中点圆画法
1、我们的电脑上要安装有Python,我们找到安装的Python并打开。
2、在打开的Python窗口中执行文件菜单的新建命令,新建一个idle的文件项目。
3、在新建的idle项目中输入下面代码:importturtle、turtle.color("blue")turtle.circle(100)绘制出第一个大圆出来。
4、下面执行第一个带蔽大圆的填充命令,执行下面代码:importturtle、裤行配turtle.color("blue")、turtle.begin_fill()、turtle.circle(100)、turtle.end_fill()、通过turtle.begin_fill()与turtle.endfill()。
5、下面来画第二个小圆,需要先跳转画笔,并更改画笔颜色,画出第胡指二个小圆。跳转画笔使用goto命令。
6、最后画中间的小圆操作和大圆一样,执行填充命令即可。这样一个圆中圆的效果就完成了。
‘叁’ 如何使用Python在屏幕上作画
fromturtleimport*
defcurvemove():
for蔽轮iinrange(200):
right(1)
forward(1)
color('red','pink')宏银信
begin_fill()
left(140)
forward(111.65)
curvemove()
left(120)
curvemove()
forward(111.65)
end_fill()
done()
要用turtle模块,如果要画更复杂的画要用第三方模块。以上画了个“心”搏升。
‘肆’ python 画点连线
没有太明白你的意思:依次连接我理解的是按照生成的顺序连接
随机产生点用random模块
random().random()() 生成0至1之间的随机浮点数,结果大于等于0.0,小于1.0
random.randint(a,b) 生成1至5之间的随机整数,结果大于等于1,小于等于5,a必须小于等于b
random.choice(testlist)从testlist中随机挑选一个数,也可以是元组、字符串
划线函数可以用下面的
dc = wx.PaintDC(self)
dc.SetPen(wx.Pen('red',1))
dc.DrawLine(10, 0, 20, 100)
‘伍’ 如何和采用Python语言在turtle工具画散点
1 import turtle #导入turtle模块 2 turtle.color("blue") #定义颜色 3 turtle.penup() #penup和pendown()设置画笔抬起或放下时是否绘制直线 4 turtle.goto(-110,-25) #初始位置以中心坐标为(0,0) 5 turtle.pendown() 6 turtle.circle(45) #绘制...
‘陆’ python如何画标签为0,1的原点
简单介绍python中的绘图
绘制简单的折线图
散点图
设置每个坐标轴的取值范围
将主点颜色改成白,边缘颜色为红
自动保存图表
随机漫步
随机漫步渐变色
小知识点
绘制起点和终点
画布尺寸
隐藏坐标轴
pygal
roll one dice
绘制简单的折线图
首先下载matplotlib安装程序
import matplotlib.pyplot as plt
x_values = [1, 2, 3, 4, 5, 6] # 代表x轴的值
y_values = [1, 2, 4, 8, 16, 32] # 代表与x相对应的y轴的值
# plt.plot(y_values, linewidth=3)
plt.plot(x_values, y_values, linewidth=3)
# 设置图表标题,并改变横纵坐标的名称
plt.title("figure test", fontsize=24)
plt.xlabel("xValue", fontsize=14)
plt.ylabel("yValue", fontsize=14)
# 更改刻度标记的大小
plt.tick_params(axis='both', labelsize=12)
plt.show() # 打开matplotlib查看器,显示绘制的图形
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
散点图
import matplotlib.pyplot as plt
# 绘制单个x = 2, y = 4坐标轴上的点
# plt.scatter(2, 4, s=100) # s用来更改慎掘枣单个点的大小
# 绘制一群点
x_values = [1, 2, 3, 4, 5]
y_values = [1, 2, 4, 8, 16]
plt.scatter(x_values, y_values, s=100)
# 设置图表标题,并改变横纵坐标的名称
plt.title("figure test", fontsize=24)
plt.xlabel("xValue", fontsize=14)
plt.ylabel("yValue", fontsize=14)
# 更改刻度标记的大小
plt.tick_params(axis='both', which = 'major', labelsize=12)
plt.show()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
另一种方法绘制此图:(散败自动生成数据)
import matplotlib.pyplot as plt
# 绘制单个x = 2, y = 4坐标宽拆轴上的点
# plt.scatter(2, 4, s=100) # s用来更改单个点的大小
# 绘制一群点
i = 1
x_values = list(range(1, 6))
y_values = [2**(i-1) for i in x_values]
plt.scatter(x_values, y_values, s=100)
# 设置图表标题,并改变横纵坐标的名称
plt.title("figure test", fontsize=24)
plt.xlabel("xValue", fontsize=14)
plt.ylabel("yValue", fontsize=14)
# 更改刻度标记的大小
plt.tick_params(axis='both', which='major', labelsize=12)
plt.show()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
设置每个坐标轴的取值范围
plt.axis([0, 100, 0, 1000])
1
1
前面对应x, 后面对应y
将主点颜色改成白,边缘颜色为红
plt.scatter(x_values, y_values, c='white', edgecolor='red', s=20)
plt.scatter(x_values, y_values, c=(1, 1, 1), edgecolor='red', s=20)
1
2
1
2
c for color; 含三个0~1之间的小数值
颜色映射(colormap)
plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Reds,
edgecolor='none', s=40)
1
2
1
2
要了解pyplot中所有的颜色映射: https://matplotlib.org/gallery/color/colormap_reference.html#sphx-glr-gallery-color-colormap-reference-py
自动保存图表
plt.savefig(‘Figure1.png’, bbox_inches=‘tight’)
第一个参数表示名字, 将其以Figure1.png存储在example.py同一个文件夹里
第二个参数表示将图表多余的空白区域裁剪掉
随机漫步
随机游走(random walk)也称随机漫步,随机行走等是指基于过去的表现,无法预测将来的发展步骤和方向。核心概念是指任何无规则行走者所带的守恒量都各自对应着一个扩散运输定律 ,接近于布朗运动,是布朗运动理想的数学状态,现阶段主要应用于互联网链接分析及金融股票市场中。(来自网络)
import matplotlib.pyplot as plt
from random import choice
class RandomWalk:
def __init__(self, num_points=5000):
self.num_points = num_points
# 从(0, 0)开始出发
self.x_values = [0]
self.y_values = [0]
def start_walk(self):
while len(self.x_values) < self.num_points:
x_direction = choice([-1, 1])
x_distance = choice([0, 1, 2])
x_walk = x_direction * x_distance
y_direction = choice([1, -1])
y_distance = choice([0, 10, 20])
y_walk = y_direction * y_distance
# 拒绝原地不动
if x_walk == 0 and y_walk == 0:
continue
# 计算下一个点的x和y值
next_x = self.x_values[-1] + x_walk # 从x_values的倒数第一个开始加上x方向走的距离
next_y = self.y_values[-1] + y_walk # 从y_values的倒数第一个开始加上y方向走的距离
self.x_values.append(next_x)
self.y_values.append(next_y)
randomwalk = RandomWalk()
randomwalk.start_walk()
plt.scatter(randomwalk.x_values, randomwalk.y_values, s=5)
plt.show()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
随机漫步渐变色
randomwalk = RandomWalk()
randomwalk.start_walk()
point_numbers = list(range(randomwalk.num_points))
plt.scatter(randomwalk.x_values, randomwalk.y_values, c=point_numbers, cmap=plt.cm.Reds, edgecolor='none', s=5)
plt.show()
1
2
3
4
5
6
7
1
2
3
4
5
6
7
小知识点
绘制起点和终点
randomwalk = RandomWalk()
randomwalk.start_walk()
point_numbers = list(range(randomwalk.num_points))
plt.scatter(randomwalk.x_values, randomwalk.y_values, c=point_numbers, cmap=plt.cm.Reds, edgecolor='none', s=5)
# 绘制起点和终点
plt.scatter(0, 0, c='green', edgecolors='none', s=100)
plt.scatter(randomwalk.x_values[-1], randomwalk.y_values[-1], c='red', edgecolors='none', s=100)
plt.show()
1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
画布尺寸
plt.figure(dpi=128, figsize=(10, 6))
单位为英寸;函数figure()用于指定图表的宽度、高度、分辨率和背景色。
dpi: 传递分辨率
隐藏坐标轴
plt.axes().get_xaxis().set_visible(False)
plt.axes().get_yaxis().set_visible(False)
pygal
http://www.pygal.org/en/stable/documentation/types/index.html
roll one dice
from random import randint
import pygal
class Die:
def __init__(self, num_sides=6):
self.num_sides = num_sides
def roll(self):
return randint(1, self.num_sides)
die = Die()
results = []
# 掷100次骰子
for roll_num in range(100):
result = die.roll()
results.append(result)
frequencies = []
for value in range(1, die.num_sides + 1):
frequency = results.count(value)
frequencies.append(frequency)
horizontal_bar_chart = pygal.Bar()
horizontal_bar_chart.title = "randomly roll a 6-side die"
horizontal_bar_chart.x_labels = ['1', '2', '3', '4', '5', '6']
horizontal_bar_chart.x_title = "Result"
horizontal_bar_chart.y_title = "Frequency"
horizontal_bar_chart.add('6side', frequencies)
horizontal_bar_chart.render_to_file('die_visual.svg')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
‘柒’ python matplotlib 如何画点 而不要画点之间的连线
plot(x,y,marker='*')
用marker参数来指定,或者用set_marker函数,参看matplotlib的帮助
>>>from matplotlib.lines import Line2D
>>> help(Line2D.set_marker)
def set_marker(self, marker):
"""
Set the line marker
========== ==========================
marker description
========== ==========================
'.' point
',' pixel
'o' circle
'v' triangle_down
'^' triangle_up
'<' triangle_left
'>' triangle_right
'1' tri_down
'2' tri_up
'3' tri_left
'4' tri_right
's' square
'p' pentagon
'*' star
'h' hexagon1
'H' hexagon2
'+' plus
'x' x
'D' diamond
'd' thin_diamond
'|' vline
'_' hline
TICKLEFT tickleft
TICKRIGHT tickright
TICKUP tickup
TICKDOWN tickdown
CARETLEFT caretleft
CARETRIGHT caretright
CARETUP caretup
CARETDOWN caretdown
'None' nothing
' ' nothing
'' nothing
========== ==========================
ACCEPTS: [ '+' | '*' | ',' | '.' | '1' | '2' | '3' | '4'
| '<' | '>' | 'D' | 'H' | '^' | '_' | 'd'
| 'h' | 'o' | 'p' | 's' | 'v' | 'x' | '|'
| TICKUP | TICKDOWN | TICKLEFT | TICKRIGHT
| 'None' | ' ' | '' ]
"""
‘捌’ python怎么在屏幕上画图
首先说你的要求有些不明确的部分
比如说你在所有窗体上写
那是否画图的同时还要拖动其他窗体?
这个要求的话
目前的python各种gui库貌似还没有支持到这么个绘画不规则窗体而不会挡住其他窗体还又在其上的;
如果只是在他们上面你可以画图而不用一定要拖动其他窗体的话
可以设计窗体为全屏大小,背景透明,不显示标题栏,然后用普通的画图函数就可以了
对了
推荐使用wxpython
‘玖’ 怎样用python画图
思路:
1. 确定好需要画的图。
2. 创建一个画布,用来画你需要的图。
(1)画布大小,可以使用默认大小,也可以自定义画布大小。
(2)画布背景色bgcolor()。
(3)确定起点位置。
3. 画笔的设置。
(1)画笔的大小,颜色。
(2)画笔运行属性。
二、定义画布参数
importturtleast
t.screensize(width=None,heigh=None,bg=None)#以像素为单位,参数分别为画布的宽,高,背景色
t.screensize()#返回默认大小(400,300)
t.Screen()#也是表示默认画布大小,注意S大写
t.setup(w=0.5,h=0.75,startx=None,starty=None)#w,h为整数是表示像素,为小数时表示占据电脑屏幕的比例
#startx,starty坐标表示矩形窗口左上角顶点的位置,默认为屏幕中心位置
三、定义画笔
1、画笔的状态
在画布上默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向),turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。
2、画笔的属性
画笔(画笔的属性,颜色、画线的宽度)
(1)turtle.pensize():设置画笔的宽度;
(2)turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green","red",也可以是RGB 3元组;
>>>pencolor('brown')
>>>tup=(0.2,0.8,0.55)
>>>pencolor(tup)
>>>pencolor()
'#33cc8c'
(3)turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。
相关推荐:《Python入门教程》
3、绘图命令
操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。
(1)画笔运动命令:
(3)全局控制命令:
四、命令详解
turtle.circle(radius,extent=None,steps=None)
描述:以给定半径画圆
参数:
radius(半径);半径为正(负),表示圆心在画笔的左边(右边)画圆;
extent(弧度) (optional);
steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps);
举例:
circle(50)#整圆;
circle(50,steps=3)#三角形;
circle(120,180)#半圆
五、绘图举例
(1)菱形太阳花
importturtleast#turtle库是python的内部库,直接import使用即可
defdraw_diamond(turt):
foriinrange(1,3):
turt.forward(100)#向前走100步
希望我的回答对你有帮助
‘拾’ Python屏幕操作
实现对电脑屏幕自动点击操作,减少工作量。python 环境3.6 windows 10。目前教程比较多的是PyUserinput 但是pyhook是一个坑啊,不兼容3.x 解决比较麻烦。因此找到了pyautogui,它的功能比较多有兴趣的可以查看的文档,我只选择了它的点击功能。git地址 在此 。
window下不需要其他依赖,但是目前直接用pip安装pyautogui,其中pygetwindow模块会因为编码问题报错。需要先安装pygetwindow 。
输入如下命令
pip install pygetwindow==0.0.1
然后使用pip 安装pyautogui。
pip install autogui.
即可完成pyautogui的安装。
简单的demo(偷偷的):
比较简单的例子。有兴趣的朋友可以多研究研究哦。
还有其他功能的demo在文档中,感兴趣可以多看看。