Публичный аккаунт WeChat: «Python Reading Finance» Если у вас есть какие-либо вопросы или предложения, пожалуйста, оставьте сообщение в публичном аккаунте
Вслед за предыдущей статьей мы представилиplt
иax
После разницы между рисунками эта статья объединяет некоторые из моих собственных опытов и систематизирует их для вас.Matplotlib
Некоторые из наиболее часто используемых настроек компонента.
Лично думаю сMatplotlib
Нарисовать картинку не сложно, но сложность в том, что для настройки некоторых деталей Baidu может долго обрабатывать мелкую деталь, поэтому можно сначала кликнуть по подборке, а потом уже посмотреть, а вы можете найти его вовремя, когда он вам нужен.
Во-первых, последний официальный рисунок объяснения существительного каждого компонента на картинке.Благодаря этой картинке вы можете интуитивно почувствовать, что это такое.legend
,чтоtick
..., так же вы можете искать соответствующий документ по схеме, если встретите его, который не может быть установлен.Поговорим о нем подробнее.
Примечание:Изображения ниже используютсяfig,ax = plt.subplots()
способ генерировать
Установить отображение китайского шрифта
Matplotlib
По умолчанию китайский язык отображается как искаженный ◻, как в следующем случае.
fig,ax = plt.subplots()
ax.plot(['北京','上海','深圳'],[1,3,5])
plt.show()
Таким образом, эту проблему можно решить с помощью следующего кода перед рисованием
plt.rcParams['font.sans-serif'] = ['SimHei']
# SimHei:微软雅黑
# FangSong:仿宋
# 这两个是我常用的,其他的可以上网搜一搜
fig,ax = plt.subplots()
ax.plot(['北京','上海','深圳'],[1,3,5])
plt.show()
Установите заголовок (название)
функция:ax.set_title
использоватьfontdict
иloc
Параметры могут быть установлены отдельно для шрифта и положения заголовка
fig,ax = plt.subplots()
ax.plot(['北京','上海','深圳'],[1,3,5])
#设置16px的字体大小,将标题显示在左侧
ax.set_title('标题',fontdict={'size':16},loc = 'left')
plt.show()
Проблема с отображением границы (корешка)
функция:ax.spines[loc].set_visible(False)
В общем графикеMatplotlib
Графика будет отображаться по умолчаниюspine
, английский на самом деле не очень хороший перевод, гугл переведи на корешок? ? ?
Обычно я называю его границей, которая представляет собой четыре стороны графика вверх, вниз, влево и вправо, как показано на рисунке.
Я думаю, что эта граница на самом деле довольно уродливая.При обычном использовании иногда нужна только левая сторона.left
и дноbottom
изspine
, а иногда и четыре границы не нужны, можно установить так:
fig,ax = plt.subplots()
ax.plot(['北京','上海','深圳'],[1,3,5])
# 只要左边和底部的边框
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
plt.show()
Настройки легенды (легенда)
функция:ax.legend()
Легенда — это объяснение того, что изображено на графике.Например, если на графике нарисованы три линии, что представляют эти три линии? Здесь необходимо сделать пометку.
Существует два способа отображения легенды:
# 第一种:
# plot的时候加上label,之后调用ax.legend()
fig,ax = plt.subplots()
ax.plot(['北京','上海','深圳'],[1,3,5],label='2010')
ax.plot(['北京','上海','深圳'],[2,4,6],label='2020')
ax.legend()
plt.show()
# 第二种:
# 使用ax.legend()按顺序设置好图例
fig,ax = plt.subplots()
ax.plot(['北京','上海','深圳'],[1,3,5])
ax.plot(['北京','上海','深圳'],[2,4,6])
ax.legend(['2010','2020'])
plt.show()
frameon
иfontsize
В параметрах можно указать, отображать ли границу легенды и размер текста в легенде.
Контроль пробелов между графикой и границами
функция:ax.margins()
Я не знаю, заметили ли вы, когда рисовали,Matplotlib
По умолчанию между графикой, которую мы рисуем, и границей есть пустое пространство, например
Чтобы удалить такую пустую часть, вы можете использоватьax.margins()
сделать настройки
fig,ax = plt.subplots()
ax.plot(['北京','上海','深圳'],[1,3,5])
ax.fill_between(['北京','上海','深圳'],[1,1,1],[1,3,5],color='#7b68ee')
# 可以设置四个方向都不留白,也可以单独设置留白的方向和宽度
ax.margins(0)
plt.show()
Настройка двойных осей
функция:ax.twinx()
Две оси координат обычно используются дляСоставная диаграмма, представляющие индикаторы для обоих графиков одновременноразные размеры, классические сценарии использования, такие как диаграммы Парето.
В использовании оригиналax
использовать.twinx()
генерация методаax2
,Повторное использованиеax2
сделать рисунок
fig,ax = plt.subplots()
ax.plot(['北京','上海','深圳'],[1,3,5],color='r')
# 双坐标用法
ax2 = ax.twinx()
ax2.bar(['北京','上海','深圳'],[20,40,60],alpha=0.3)
plt.show()
Настройки, связанные с осью координат
На двумерной диаграмме члены для каждой части координатной оси показаны на рисунке
Сначала идет абсциссаxaxis
и ординатаyaxis
(примечание сaxes
различие), метка на горизонтальных и вертикальных координатах (которую также можно назвать названием горизонтальных и вертикальных координат)xlabel
иylabel
, есть галочки на горизонтальных и вертикальных координатахtick
, соответствующие галочки на шкалеtick label
.
Соответствующая функция для конкретных настроек:
- xlabel -->
ax.set_xlabel()
- ylabel -->
ax.set_ylabel()
- отметьте и отметьте метку -->
ax.tick_params
,ax.xticks()
,ax.yticks()
fig,ax = plt.subplots()
ax.scatter([3,2,1],[1,3,5],color='r')
ax.plot([3,2,1],[1,3,5],color='r')
# 分别设置xy轴的标签
ax.set_xlabel('x',fontsize=16)
ax.set_ylabel('y',fontsize=16)
fig,ax = plt.subplots()
ax.scatter([3,2,1],[1,3,5],color='r')
ax.plot([3,2,1],[1,3,5],color='r')
# fontsize设置刻度标签的大小
# direction控制刻度是朝内还是朝外显示
ax.tick_params(labelsize=14,direction='in')
Настройки линии сетки (сетки)
функция:ax.grid()
Линии сетки в основном используются для облегчения просмотра определенных числовых значений, и соответствующие линии сетки могут быть установлены как для горизонтальных, так и для вертикальных координат, в зависимости от конкретной ситуации.
fig,ax = plt.subplots()
ax.plot([1,2,3],[4,2,6],color='r')
# b参数设置是否显示网格
# axis参数设置在哪个轴上显示网格线,可选参数为'x','y','both'
ax.grid(b=True,axis='y')
Здесь собраны общие настройки компонентов диаграммы, если что-то не так, добро пожаловать в кирпич!
Подпишитесь на мою официальную учетную запись «Python Reading Finance» и ответьте «py» в фоновом режиме, чтобы получить пакет учебных ресурсов Python.