python图形绘制代码(python中绘制图形)

http://www.itjxue.com  2023-03-29 16:05  来源:未知  点击次数: 

用python画一百个同心圆的代码?

import matplotlib.pyplot as plt

from matplotlib.patches import Circle

# 创建一个图形对象

fig = plt.figure()

# 循环绘制一百个同心圆

for i in range(100):

# 使用 Circle 类创建圆形,并指定半径和圆心坐标

circle = Circle(xy=(0, 0), radius=i+1)

# 使用 fig.add_subplot() 方法将圆形添加到图中

ax = fig.add_subplot(1, 1, 1)

ax.add_patch(circle)

# 调用 plt.show() 方法显示图形

plt.show()

用Python画图

今天开始琢磨用Python画图,没使用之前是一脸懵的,我使用的开发环境是Pycharm,这个输出的是一行行命令,这个图画在哪里呢?

搜索之后发现,它会弹出一个对话框,然后就开始画了,比如下图

第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟,你可以想象下一个小乌龟在一个x和y轴的平面坐标系里,从原点开始根据指令控制,爬行出来就是绘制的图形了。

??它最常用的指令就是旋转和移动,比如画个圆,就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:

turtle.forward(200)

turtle.left(170)

第一个命令是移动200个单位并画出来轨迹

第二个命令是画笔顺时针转170度,注意此时并没有移动,只是转角度

然后呢? 循环重复就画出来这个图了

好玩吧。

有需要仔细研究的可以看下这篇文章 ,这个牛人最后用这个库画个移动的钟表,太赞了。

Turtle虽好玩,但是我想要的是我给定数据,然后让它画图,这里就找到另一个常用的画图的库了。

Matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表。

使用起来也挺简单,

首先import matplotlib.pyplot as plt?导入画图的图。

然后给定x和y,用这个命令plt.plot(x, y)就能画图了,接着用plt.show()就可以把图形展示出来。

接着就是各种完善,比如加标题,设定x轴和y轴标签,范围,颜色,网格等等,在 这篇文章里介绍的很详细。

现在互联网的好处就是你需要什么内容,基本上都能搜索出来,而且还是免费的。

我为什么要研究这个呢?当然是为了用,比如我把比特币的曲线自己画出来可好?

假设现在有个数据csv文件,一列是日期,另一列是比特币的价格,那用这个命令画下:

这两列数据读到pandas中,日期为df['time']列,比特币价格为df['ini'],那我只要使用如下命令

plt.plot(df['time'], df['ini'])

plt.show()

就能得到如下图:

自己画的是不是很香,哈哈!

然后呢,我在上篇文章 中介绍过求Ahr999指数,那可不可以也放到这张图中呢?不就是加一条命令嘛

plt.plot(df['time'], df['Ahr999'])

图形如下:

但是,Ahr999指数怎么就一条线不动啊,?原来两个Y轴不一致,显示出来太怪了,需要用多Y轴,问题来了。

继续谷歌一下,把第二个Y轴放右边就行了,不过呢得使用多图,重新绘制

fig = plt.figure() # 多图

ax1 = fig.add_subplot(111)

ax1.plot(df['time'], df['ini'], label="BTC price")? #?绘制第一个图比特币价格

ax1.set_ylabel('BTC price') #?加上标签

# 第二个直接对称就行了

ax2 = ax1.twinx()#?在右边增加一个Y轴

ax2.plot(df['time'], df['Ahr999'], 'r', label="ahr999")??#?绘制第二个图Ahr999指数,红色

ax2.set_ylim([0, 50])# 设定第二个Y轴范围

ax2.set_ylabel('ahr999')

plt.grid(color="k", linestyle=":")# 网格

fig.legend(loc="center")#图例

plt.show()

跑起来看看效果,虽然丑了点,但终于跑通了。

这样就可以把所有指数都绘制到一张图中,等等,三个甚至多个Y轴怎么加?这又是一个问题,留给爱思考爱学习的你。

有了自己的数据,建立自己的各个指数,然后再放到图形界面中,同时针对异常情况再自动进行提醒,比如要抄底了,要卖出了,用程序做出自己的晴雨表。

python绘图篇

1,xlable,ylable设置x,y轴的标题文字。

2,title设置标题。

3,xlim,ylim设置x,y轴显示范围。

plt.show()显示绘图窗口,通常情况下,show()会阻碍程序运行,带-wthread等参数的环境下,窗口不会关闭。

plt.saveFig()保存图像。

面向对象绘图

1,当前图表和子图可以用gcf(),gca()获得。

subplot()绘制包含多个图表的子图。

configure subplots,可调节子图与图表边框距离。

可以通过修改配置文件更改对象属性。

图标显示中文

1,在程序中直接指定字体。

2, 在程序开始修改配置字典reParams.

3,修改配置文件。

Artist对象

1,图标的绘制领域。

2,如何在FigureCanvas对象上绘图。

3,如何使用Renderer在FigureCanvas对象上绘图。

FigureCanvas和Render处理底层图像操作,Artist处理高层结构。

分为简单对象和容器对象,简单的Aritist是标准的绘图元件,例如Line 2D,Rectangle,Text,AxesImage等,而容器类型包含许多简单的的 Aritist对象,使他们构成一个整体,例如Axis,Axes,Figure等。

直接创建Artist对象进项绘图操作步奏:

1,创建Figure对象(通过figure()函数,会进行许多初始化操作,不建议直接创建。)

2,为Figure对象创建一个或多个Axes对象。

3,调用Axes对象的方法创建各类简单的Artist对象。

Figure容器

如何找到指定的Artist对象。

1,可调用add_subplot()和add_axes()方法向图表添加子图。

2,可使用for循环添加栅格。

3,可通过transform修改坐标原点。

Axes容器

1,patch修改背景。

2,包含坐标轴,坐标网格,刻度标签,坐标轴标题等内容。

3,get_ticklabels(),,get-ticklines获得刻度标签和刻度线。

1,可对曲线进行插值。

2,fill_between()绘制交点。

3,坐标变换。

4,绘制阴影。

5,添加注释。

1,绘制直方图的函数是

2,箱线图(Boxplot)也称箱须图(Box-whisker Plot),是利用数据中的五个统计量:最小值、第一四分位

数、中位数、第三四分位数与最大值来描述数据的一种方法,它可以粗略地看出数据是否具有对称性以及分

布的分散程度等信息,特别可以用于对几个样本的比较。

3,饼图就是把一个圆盘按所需表达变量的观察数划分为若干份,每一份的角度(即面积)等价于每个观察

值的大小。

4,散点图

5,QQ图

低层绘图函数

类似于barplot(),dotchart()和plot()这样的函数采用低层的绘图函数来画线和点,来表达它们在页面上放置的位置以及其他各种特征。

在这一节中,我们会描述一些低层的绘图函数,用户也可以调用这些函数用于绘图。首先我们先讲一下R怎么描述一个页面;然后我们讲怎么在页面上添加点,线和文字;最后讲一下怎么修改一些基本的图形。

绘图区域与边界

R在绘图时,将显示区域划分为几个部分。绘制区域显示了根据数据描绘出来的图像,在此区域内R根据数据选择一个坐标系,通过显示出来的坐标轴可以看到R使用的坐标系。在绘制区域之外是边沿区,从底部开始按顺时针方向分别用数字1到4表示。文字和标签通常显示在边沿区域内,按照从内到外的行数先后显示。

添加对象

在绘制的图像上还可以继续添加若干对象,下面是几个有用的函数,以及对其功能的说明。

?points(x, y, ...),添加点

?lines(x, y, ...),添加线段

?text(x, y, labels, ...),添加文字

?abline(a, b, ...),添加直线y=a+bx

?abline(h=y, ...),添加水平线

?abline(v=x, ...),添加垂直线

?polygon(x, y, ...),添加一个闭合的多边形

?segments(x0, y0, x1, y1, ...),画线段

?arrows(x0, y0, x1, y1, ...),画箭头

?symbols(x, y, ...),添加各种符号

?legend(x, y, legend, ...),添加图列说明

用python画正五边形的代码?

以下是使用 Python 的 turtle 图形模块绘制常规五边形的一种方法:

此代码创建一只从屏幕底部中心开始的,然后绘制边长为 200 个单位的常规五边形。它将在每条边后旋转 72 度,这是绘制常规五边形所需的角度。最后,该命令会阻止窗口自动关闭。turtle.done()

回答不易望请采纳

python通过PyGame绘制图像并保存为图片文件的代码

把开发过程中常用的一些内容片段记录起来,下边内容是关于python通过PyGame绘制图像并保存为图片文件的内容,希望对大伙有较大好处。

''' pg_draw_circle_save101.py

draw a blue solid circle on a white background

save the drawing to an image file

tested with Python 2.7 and PyGame 1.9.2 by vegaseat? 16may2013

'''

import pygame as pg

# pygame uses (r, g, b) color tuples

white = (255, 255, 255)

blue = (0, 0, 255)

width = 300

height = 300

# create the display window

win = pg.display.set_mode((width, height))

# optional title bar caption

pg.display.set_caption("Pygame draw circle and save")

# default background is black, so make it white

win.fill(white)

# draw a blue circle

# center coordinates (x, y)

radius = min(center)

# width of 0 (default) fills the circle

# otherwise it is thickness of outline

width = 0

# draw.circle(Surface, color, pos, radius, width)

pg.draw.circle(win, blue, center, radius, width)

# now save the drawing

# can save as .bmp .tga .png or .jpg

fname = "circle_blue.png"

pg.image.save(win, fname)

print("file {} has been saved".format(fname))

# update the display window to show the drawing

pg.display.flip()

# event loop and exit conditions

# (press escape key or click window title bar x to exit)

while True:

? ? for event in pg.event.get():

? ? ? ? if event.type == pg.QUIT:

? ? ? ? ? ? # most reliable exit on x click

? ? ? ? ? ? pg.quit()

? ? ? ? ? ? raise SystemExit

? ? ? ? elif event.type == pg.KEYDOWN:

? ? ? ? ? ? # optional exit with escape key

? ? ? ? ? ? if event.key == pg.K_ESCAPE:

? ? ? ? ? ? ? ? pg.quit()

? ? ? ? ? ? ? ? raise SystemExit

(责任编辑:IT教学网)

更多

推荐网络工程师文章