英文:
Adding text to tricontourf
问题
要在使用以下代码制作的tricontoruf绘图中添加文本标题:
import matplotlib.pyplot as plt
from matplotlib import cm
import pandas as pd
dx = {'1': 1, '2': -1, '3': -1, '4': 1, '5': 0}
x = pd.Series(data=dx, index=['1', '2', '3', '4', '5'])
dy = {'1': 1, '2': 1, '3': -1, '4': -1, '5': 0}
y = pd.Series(data=dy, index=['1', '2', '3', '4', '5'])
dT = {'1': 10, '2': 20, '3': 30, '4': 40, '5': 50}
T = pd.Series(data=dT, index=['1', '2', '3', '4', '5'])
plt.figure(figsize=(10,8))
CS=plt.tricontourf(x, y, T, cmap=cm.turbo, extend='neither', levels=np.arange(0,101,5))
plt.colorbar(CS)
# 添加文本标签
plt.text(1, 1, "我的文本", fontsize=12)
plt.show()
将上述plt.text
行添加到您的代码中,它将在图上添加文本标签"我的文本",并且您可以根据需要调整文本的位置和字体大小。
英文:
I need to add a text caption to a plot that I make using tricontoruf using the below code:
import matplotlib.pyplot as plt
from matplotlib import cm
import pandas as pd
dx = {'1': 1, '2': -1, '3': -1, '4': 1, '5': 0}
x = pd.Series(data=dx, index=['1', '2', '3', '4', '5'])
dy = {'1': 1, '2': 1, '3': -1, '4': -1, '5': 0}
y = pd.Series(data=dy, index=['1', '2', '3', '4', '5'])
dT = {'1': 10, '2': 20, '3': 30, '4': 40, '5': 50}
T = pd.Series(data=dT, index=['1', '2', '3', '4', '5'])
plt.figure(figsize=(10,8))
CS=plt.tricontourf(x, y, T, cmap=cm.turbo, extend='neither', levels=np.arange(0,101,5))
plt.colorbar(CS)
plt.show()
Want to add something like text(1, 1, "my text", fontsize=12)
. Can somebody help, please?
答案1
得分: 1
我会使用面向对象的编程方法,然后调用 Axes.text
:
Axes.text
(x, y, s, fontdict=None, **kwargs)在数据坐标中的位置 x、y 处将文本 s 添加到 Axes 中。
来源 : [matplotlib]
fig, ax = plt.subplots(figsize=(10, 8))
CS = ax.tricontourf(x, y, T, cmap=cm.turbo, extend='neither', levels=np.arange(0, 101, 5))
fig.colorbar(CS), ax.set_aspect('equal')
ax.text(0.5, 0.5, # X & Y 坐标
s='StackOverflow', # <-- 在这里放置您的文本
fontsize=12, # 调整字体大小
ha='center', transform=ax.transAxes)
plt.show()
英文:
I would use the OOP approach and then call Axes.text
:
> Axes.text
(x, y, s, fontdict=None, **kwargs)
>
> Add the text s to the Axes at location x, y in data coordinates.
>
> Source : [matplotlib]
fig, ax = plt.subplots(figsize=(10, 8))
CS = ax.tricontourf(x, y, T, cmap=cm.turbo, extend='neither', levels=np.arange(0, 101, 5))
fig.colorbar(CS), ax.set_aspect('equal')
ax.text(0.5, 0.5, # X & Y coordinates
s='StackOverflow', # <-- put your text here
fontsize=12, # adjust the fontsize
ha='center', transform=ax.transAxes)
plt.show()
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论