当前位置:   article > 正文

python数据可视化-matplotlib(二)_plt.gcf().autofmt_xdate()

plt.gcf().autofmt_xdate()

1.切换线条样式-marker

1
2

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x=np.arange(1,5)
plt.plot(x,marker='o')
plt.plot(x+1,marker='>')
plt.plot(x+2,marker='s')
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

3
1.2

2.显示数学公式-mathtext

作为开始和结束符,如$,中间的将解析出公式中的符号

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.title('chenqionghe')
plt.xlim([1,8])
plt.ylim([1,5])
plt.text(2,4,r'$ \alpha \beta \pi \lambda \omega $',size=25)
plt.text(4,4,r'$ \sin(0)=\cos(\frac{\pi}{2}) $',size=25)
plt.text(2,2,r'$ \lim_{x \rightarrow y} \frac{1}{x^3} $',size=25)
plt.text(4,2,r'$ \sqrt[4]{x}=\sqrt{y} $',size=25)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

mathtext文档:https://matplotlib.org/api/mathtext_api.html
编写数学表达式的文档:https://matplotlib.org/tutorials/text/mathtext.html

1111

3.显示网格-grid

plt.grid(b=None, which=‘major’, axis=‘both’, **kwargs)

参数解释
b布尔值 或 None,可选,是否显示网格线(None,True:显示网格,False:表示不显示)
which应用更改的网格线。 {‘major’, ‘minor’, ‘both’},可选
axis{‘both’, ‘x’, ‘y’},可选’。就是想绘制哪个方向的网格线
color网格线颜色
linestyle也可以用ls来代替linestyle, 设置网格线的风格,是连续实线,虚线或者其它不同的线
linewidth设置网格线的宽度
alphaalpha 设置网格透明度, alpha必须在 0-1 范围内,包括 0-1
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x='a','b','c','d'
y=[15,30,45,10]
plt.grid()
# 也可以设置颜色、线条宽度、线条样式
# plt.grid(color='g',linewidth='1',linestyle='-.')
plt.plot(x,y)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

12

4.调整坐标轴刻度-locator_params

同时调整 x 轴和 y 轴:plt.locator_params(nbins=20)
只调整 x 轴:plt.locator_params(‘‘x’,nbins=20)
只调整 y 轴:plt.locator_params(‘‘y’,nbins=20)
控制坐标轴显示刻度个数

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x=np.arange(0,30,1)
plt.plot(x,x)
# x轴和y轴分别显示20个
plt.locator_params(nbins=20)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

11111

5.调整坐标轴范围-axis/xlim/ylim

axis:[0,5,0,10],x从0到5,y从0到10
xlim:对应参数有xmin和xmax,分别能调整最大值最小值
ylim:同xlim用法

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x=np.arange(0,30,1)
plt.plot(x,x*x)
#显示坐标轴,plt.axis(),4个数字分别代表x轴和y轴的最小坐标,最大坐标
#调整x为10到25
plt.xlim(xmin=10,xmax=25)
plt.plot(x,x*x)
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

122

plt.axis()的参数

ValueDescription
‘on’打开x,y轴线和标签,与True表示一样
‘off’关闭轴线和标签,与False表示一样
‘equal’通过更改轴限制设置相等的缩放比例。 这与ax.set_aspect(‘equal’,adjustable=‘datalim’) 相同。 在这种情况下,可能不会遵守明确的数据限制。
‘scaled’通过更改图框的尺寸来设置相等的缩放比例。 这与 ax.set_aspect(‘equal’,adjustable=‘box’,anchor=‘C’) 相同。 此外,将禁用进一步的自动缩放。
‘tight’设置大到足以显示所有数据的限制,然后禁用进一步的自动缩放。
‘auto’自动缩放(用数据填充绘图框)
‘image’缩放’ 轴限制等于数据限制
‘square’方图; 类似于 ‘scaled’,但最初强制 xmax-xmin == ymax-ymin

6.调整日期自适应-autofmt_xdate

有时候显示日期会重叠在一起,非常不友好,调用plt.gcf().autofmt_xdate(),将自动调整角度。

pd.date_range()
Parameters:--------------------
start : str 或类似日期时间,可选
end : str 或类似日期时间,可选
periods:整数,可选
等等

>>> pd.date_range(start='1/1/2018', end='1/08/2018')
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'],
              dtype='datetime64[ns]', freq='D')
>>> pd.date_range(start='1/1/2018', periods=8)
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-06', '2018-01-07', '2018-01-08'],
              dtype='datetime64[ns]', freq='D')
>>> pd.date_range(end='1/1/2018', periods=8)
DatetimeIndex(['2017-12-25', '2017-12-26', '2017-12-27', '2017-12-28',
               '2017-12-29', '2017-12-30', '2017-12-31', '2018-01-01'],
              dtype='datetime64[ns]', freq='D')
>>> pd.date_range(start='2018-04-24', end='2018-04-27', periods=3)
DatetimeIndex(['2018-04-24 00:00:00', '2018-04-25 12:00:00',
               '2018-04-27 00:00:00'],
              dtype='datetime64[ns]', freq=None)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
x=pd.date_range('2021/01/01',periods=25)
y=np.arange(0,25,1)
plt.plot(x,y)
plt.gcf().autofmt_xdate()#  自动旋转日期标记
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

4
画图小技巧
python数据可视化-matplotlib(一)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/142310
推荐阅读
相关标签
  

闽ICP备14008679号