matplotlib入门2

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 50)
y = 2*x + 1

plt.figure(num=1, figsize=(4,5))
plt.plot(x,y,)

ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', 0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))
1、在图片中添加注解
1. 添加点
x0 = 1
y0 = 2*x0 + 1
plt.scatter(x0, y0, s=50, color='b')
2. 添加虚线
k--: k代表黑色, --虚线样式
lw:线宽度
(x0,0)--(x0,y0)生成虚线
plt.plot([x0,x0],[y0,0],'k--',lw=2.5)
3.添加注解
  • 2x+1=y0
  • xycoords:基于data的xy这个点
  • xytext:文字描述--位置
  • textcoords: xytext基于这个
  • arrowprops: 方向线
  • arrowstyle,connectionstyle:箭头样式、弧度
plt.annotate(r'$2x+1=%s$'% y0,
             xy=(x0,y0),xycoords='data',
             xytext=(+30,-30),textcoords='offset points',
             fontsize=16,
             arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=0.2'))
4.给字体定义颜色
  • _i: 角标i
  • _t: 角标t
plt.text(-3.7, 3, r'$li\ hua.\ \mu\sigma_i\ \alpha_t$',
         fontdict={
             'size':12,
             'color':'red',
         })
5.在图片数据量多的时候,处理坐标轴挡住的数据,显示出来
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 50)
y = 0.1*x

plt.figure()
plt.plot(x,y,linewidth=10)
plt.ylim(-2,2)


ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')

ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data', 0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data', 0))

把坐标轴数值的label取出来,单个设置数据

for label in ax.get_xticklabels() + ax.get_yticklabels():
    label.set_fontsize(13)
    label.set_bbox(dict(facecolor='white',edgecolor='None',alpha=0.65))
     <!--
        # set_bbox:把背景呈现出来(label后面的框)
        # facecolor:前面的颜色
        # edgecolor: 框的边,不显示
    -->

plt.show()
6.柱状图

堆叠柱状图

import matplotlib.pyplot as plt
import numpy as np

# 设置颜色 fc
# 设置标签  tick_label
# 堆叠柱状图

name_list = ['a', 'b', 'c', 'd', 'e','f']
num_list = [1.5, 0.5, 2, 7.8, 5, 1]

# 堆叠柱状图
num_list1 = [1, 2, 1, 1, 1, 3]
plt.bar(range(len(num_list)), num_list,fc='#ff9999',label='boy',tick_label=name_list)
plt.bar(range(len(num_list1)),num_list1, bottom=num_list, label='girl')

plt.legend()

plt.show()

并列柱状图

name_list = ['a', 'b', 'c', 'd']
num_list = [1.5, 0.3, 2, 7]
num_list1 = [1, 2, 3, 4]

x = list(range(len(num_list)))
total_width, n = 0.5, 2
width = total_width / n


plt.bar(x, num_list, width=width, label='A', fc='y')

<!--# 把b图的x坐标延后了a的宽度-->
for i in range(len(x)):
    x[i] = x[i] + width
    
plt.bar(x, num_list1,width=width, label='B', tick_label=num_list, fc='r')

plt.legend()
plt.show()

条形柱状图

plt.barh(range(len(name_list)), num_list, tick_label = name_list)
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你是初学者并想学习 Matplotlib,下面是一些入门步骤: 1. 安装 Matplotlib:在你的 Python 环境中安装 Matplotlib 库。可以使用 pip 命令在终端或命令提示符中执行以下命令:`pip install matplotlib` 2. 导入 Matplotlib:在 Python 脚本或交互式环境中导入 Matplotlib。通常,我们使用 `import matplotlib.pyplot as plt` 将其导入,并将其简称为 `plt`,以便更方便地调用函数。 3. 创建基本图形:使用 Matplotlib 绘制图形的第一步是创建一个图形对象(Figure)和一个或多个子图(Axes)。可以使用 `plt.figure()` 创建一个新的图形对象,并使用 `figure.add_subplot()` 方法创建子图。也可以使用 `plt.subplots()` 一次创建多个子图。 4. 绘制图形:使用子图对象的方法,如 `ax.plot()`、`ax.scatter()`、`ax.bar()` 等来绘制相应的图形。可以根据需要传递数据和其他参数来自定义图形的样式和属性。 5. 自定义图形:Matplotlib 提供了很多方法和选项来自定义图形的样式、颜色、标签、标题、坐标轴、图例等。你可以通过修改子图对象的属性或调用相应的方法来进行自定义。 6. 显示图形:使用 `plt.show()` 方法显示绘制的图形。这将打开一个新的窗口或在 Jupyter Notebook 中嵌入图形。 7. 保存图形:如果你想将图形保存到文件中,可以使用 `plt.savefig()` 方法提供保存路径和文件名,指定图形的格式(如 PNG、JPEG、SVG 等)。 这些是 Matplotlib 的基本入门步骤,你可以从这里开始尝试绘制简单的图形,并逐渐学习更高级的用法和功能。同时,官方文档和在线教程也是学习 Matplotlib 的好资源。祝你学习愉快!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值