gpt4 book ai didi

python - matplotlib 和 xkcd 样式的双换行失败

转载 作者:太空狗 更新时间:2023-10-30 00:17:31 27 4
gpt4 key购买 nike

由于第 9 行中的 double 换行符,以下 python3 代码不起作用:

# -*- coding: utf-8 -*-
from matplotlib import pyplot as plt
import numpy as np

plt.xkcd()

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.text(4, 400, '-> 1 Pig ~ 150 kg\n\n-> Butching => 80 to 100 kg meat')
plt.axis([0, 7, 0, 2000])
plt.plot([0,1,2,3,4,5], [0,400,800,1200,1600, 2000])
ax.set_ylim([0, 2000])
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
plt.show()

但是如果我删除 plt.xkcd() 行,那么即使使用双换行符也一切正常。现在有人知道为什么吗?这是错误还是有任何解决方法?

我的设置:Windows 7 amd64, python 3.3, NumPy 的 1.8,matplotlib 1.3.1

最佳答案

解决这个问题的两个技巧:

  • 用“\n.\n”替换双换行符(即加一个小点)

    plt.text(4, 400, '-> 1 Pig ~ 150 kg\n.\n-> Butching => 80 to 100 kg meat')
  • 将多行文本拆分为多个文本调用(最佳结果)

    plt.text(4, 400, '-> 1 Pig ~ 150 kg')
    plt.text(4, 240, '-> Butching => 80 to 100 kg meat')

    或者

    text = '-> 1 Pig ~ 150 kg\n\n-> Butching => 80 to 100 kg meat'
    for il, l in enumerate(text.split('\n')):
    plt.text(4, 400-80*il, l)

关于python - matplotlib 和 xkcd 样式的双换行失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20637259/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com