python-matplotlib

本文详细介绍了使用Python的Matplotlib库进行数据可视化的方法,包括如何绘制不同类型的图表,设置坐标轴,添加图例,以及利用注释增强图表的可读性。通过具体代码示例,展示了如何控制图表的外观,如线条样式、颜色和宽度,以及如何调整轴的范围和刻度。此外,还介绍了如何使用Spines自定义轴的位置和外观。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import matplotlib.pyplot as plt
import numpy as np

在x轴上(-3,3)之间选取50个点

x = np.linspace(-3,3,50)
y1 = 3*x
y2 = x**3

创建一个图标,尺寸是16,9

plt.figure(num=3,figsize=(16,9))

为了能在后面引用,l1和l2后面必须加一个,

l1, = plt.plot(x,y1,c='red',lw=2.0,
         ls='--',label='dwom')
l2, = plt.plot(x,y2,label='up')

限制X,Y轴的范围,和命名

plt.xlim(-1,2)
plt.ylim(-2,3)
plt.xlabel('I am x')
plt.ylabel('I am y')
#new_ticks = np.linspace(-1,2,5)
#plt.xticks(new_ticks)

给y轴的这些点命名,r是正则表达式,$是为了更好看,斜体,‘\ ’是反译空格

plt.yticks([-3,-1.8,0,1.22,3],
           [r'$really\ bad$',r'$bad\ \alpha$',r'$normal$',r'$good$',r'$really\ good$'])

这段定义轴,实测中间两句可以不要,x肯定是buttom,y也肯定是left啊

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
#ax.yaxis.set_ticks_position('bottom')
#ax.xaxis.set_ticks_position('left')

data表示绝对位置,axes表示相对位置(百分比)

ax.spines['bottom'].set_position(('data',0))
ax.spines['left'].set_position(('axes',1-0.618))

图列的安放,有以下这些方式
best
upper right
upper left
lower left
lower right
right
center left
center right
lower center
upper center
center

plt.legend(handles=[l2,l1],labels=['$y1=3*x$','$y2=x**3$'],loc='lower right')

垂直于x画一条线

x0 = 1.2
y0 = x0**3
plt.plot([x0,x0],[0,y0],'k--',c='green',lw=2.0)

注释线的交点
xy=(x0,y0)指出交点
xycoords='data’可有可无
接下来以x0,y0为基准定义注释的相对位置,以及字体大小
最后定义箭头的形式和弧度

plt.annotate('$x**3=%2f$'% y0,xy=(x0,y0),xycoords='data',
             xytext=(+30,-30),textcoords='offset points',fontsize=16,
             arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=0.3'))
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值