光是下载matplotlib就花了我好长时间,简直废物也!要不是还有使命在身,现在就切腹自尽!
1.从实例开始:
from matplotlib import pyplot as plt
#意思就是从2D绘图库matplotlib里拿出绘图模块pyplot来用,为了省事,把它简化为plt
import random
#random用处在于生成随机数
x = range(0,121) #定义x轴数值
y = [random.randint(20,35) for i in range (121)] #定义y轴数值
plt.figure(figsize(30,15),dpi = 50) #figure用来定义图像尺寸
plt.plot(x,y)
xtick_labels = ["10 hours {} min ".format(i) for i in range(60)]
ytick_labels = ["11 hours {} min ".format(i) for i in range(60,120)]
plt.xticks(list(x)[::3],xtick_labels[::3],rotation = 45)
#对x轴设置步进,为了美观旋转示数
#设置各个坐标轴的名称
plt.xlabel("time")
plt.ylabel("temperature")
plt.title("whatever")
plt.show()
#show出设置的图表
* 一个值得注意的弊端:from matplotlib import pyplot as plt,之后就不需要再写成matplotlib.pyplot的麻烦形式了,简化的同时,也可能会带来一些麻烦,有时两个库中的模块可能重名,此时就会造成名称上的冲突,幸亏这里不会。在一个程序里应用多个库,还可能重名,我要多长时间才会到达那种程度呀~~~
* random.randint(start,end)的作用就是返回到start到end范围内的一个值。
* figure的作用是设置最终show出的表格的尺寸大小,figsize(长,宽)用来设置长和宽,dpi用来定义图像的像素。没用它也行,计算机回帮我默认,可计算机的审美不在线,还是乖乖自己定。
* plt.xlabel()和plt.ylabel()用来给相应的坐标轴命名。
* plt.show()命令是用来让图像显示出来的,否则敲了半天全敲在内存里了,有种你去内存里瞅瞅,诶西八。
* llist(x)[::3]中 [::3] 看起来奇奇怪怪,其实是设置步长的意思,此处设置的步长为3。
* plt.xticks(...... , rotation = 45)中rotation的作用是调整对应轴的底标的旋转角度,此处调整为45度,目的是美观简洁没那么挤,这里是pycharm,可不是印度。
* range( start , end )里可以有两个数字,即开始的数字和结束的数字,这里结束的数字娶不到,欸不对,是取不到,还娶不到,输入法你是怎样一种想法,娶数字,推荐你娶8吧哈哈。言归正传,最终取到的数字是end-1;
* range( start , end , 步进),里面也可以有三个数字,前两个同前,后一个是步进的意思,即隔步进个数字取一个数字。
* plt.plot( x , y )的作用是将 x , y 的数据生成一个图像。
2.从另一个实例开始
from matplotlib import pyplot as plt
a = [11,22,33,44,55]
d = 5 #就是组距的意思
bins = (max(a) - min(b)) // d #给a均匀的摊开
plt.figure(figsize = (30,15),bpi = 50)
plt.hist(a , bins)
plt.grid(alpha = 0.5,color = "purple")
plt.xtick(range(max(a),min(a)+d,d))
plt.show()
* 这段代码极其不完善,甚至可以说是垃圾而已
* //的作用是除后取整,等价于C中的%
* plt.grid的作用是给图表添加背景网格
* 其中alpha设置的是网格的粗细程度
* 其中的color设置的是网格的颜色,注意颜色要加引号,直接对应英文即可
3.继续从实例出发——了解bar
from matplotlib import pyplot as plt
song = ["stay","creep","godzilla","animals"]
popularity = [55,60,50,40]
plt.figure(figsize = (30,15) , dpi = 80)
plt.bar(range(len(song)),popularity,color = "orange",width = 0.1)
plt.grid(alpha = 0.5 , color = "gray")
plt.xticks(range(len(song)),song,rotation = 45)
plt.xlabel("the name of the songs")
plt.ylabel("the popularity of the songs")
plt.show()
* plt.bar表示的是生成条形图,条形图的性质都在括号里了
* 除了定义x,y轴之外,还可以定义条形图的颜色,后续还可以给不同组的条形图分别定义颜色,看起来既美观,又便于区分。
* width用来给条形图的条子定义宽度,数值默认为0.8,大小在0到1之间,大于小于都会报错。
4.从一个实例出发——了解barh
from matplotlib import pyplot as plt
a = ["kongfu","bloody","talking to the moon","take me to charch"]
b = [22,36,44,52]
plt.figure(figsize = (30,15) , dpi = 50)
plt.barh = (range(len(a)) , b , height = 0.5 , color = "yellow")
plt.yticks(range(len(a)) , a , rotation = 0)
plt.grid(alpha = 0.5 , color = "gray")
plt.show()
* 两者之间的区别:bar画的是竖着的条形图,barh画的是横着的条形图
* 注意:a,b两者数组元素得是一一对应的,不然程序会报错
* 注意:figure后面直接接括号,figsize后得有 “ = ” ,别再搞错了八嘎
* barh括号中的数据:
* range(len(a))代表的是纵轴项目个数,,b是横轴,height对应的是横向条形图的粗细,color代表的是颜色。
* 注意:bar对应的是width,barh对应的是height,对应不起来会报错
* 除此之外还有很多属性都可以添加,期待期待!
5.变量的启示
* 形如:
width = 0.2
感觉上敲0.2比width容易,可是这样一来,没有特点的0.2在后面的代码中难以辨认,难免会碰到类似的数字,这样就分不清谁是谁的谁了。但如果把它赋给width,就轻而易举的知道这个变量表示的是xxx的宽度,虽然增加了些许麻烦,却可以省掉一大堆误会。