midpaint 2023-07-21 14:38 采纳率: 0%
浏览 25

matplotlib画图保存后出现马赛克底纹

在整理金融数据划分波段的时候,出现了图片保存后,底纹像是马赛克一样

fig,ax=plt.subplots(figsize=(20,8))
ax.plot(x1,indexx,label="沪深300")
ax.plot(x2],valuey,color="red",label="波段")
ax.set_xticks(x1[::20],date[::20],rotation=90,fontsize=15)
plt.legend(fontsize=15)
plt.savefig('波段划分IF300.png',dpi=100,bbox_inches = 'tight')
plt.show()

在jupyter notebook上看起来没问题
但是保存后就

img


背景像是马赛克,能让背景也是白的嘛,请问如何解决

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-07-21 16:42
    关注
    • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7683106
    • 这篇博客你也可以参考下:Jupyter中显示matplotlib的图片
    • 除此之外, 这篇博客: matplotlib 使用简明教程(六)-图像、动画相关中的 Jupyter Notebook 注意事项 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
      • 需要设置 backend 为 notebook 或 nbagg,且选择 notebook 时不支持背景颜色的变换
      • 导出时需要使用 from IPython.display import HTMLHTML(ani.to_html5_video())
    • 您还可以看一下 Toby老师的呆瓜半小时入门python数据分析课程中的 jupyter notebook用matplotlib不显示图片解决方案小节, 巩固相关知识点
    • 以下回答由chatgpt基于相关博客总结生成:

      首先,关于问题标题中保存后出现马赛克底纹的问题,可以尝试在保存图片时使用更高的像素密度(dpi)来提高图片的清晰度。可以通过在保存图片的代码中添加参数dpi来设置像素密度,例如:

      plt.savefig('image.png', dpi=300)
      

      这样可以将图片的像素密度设为300,以获得更高清晰度的图片。你可以根据实际需要调整该值。

      另外,如果你使用的是Jupyter Notebook,可能会遇到图片显示不清晰的问题。可以尝试在开始绘图之前添加以下代码:

      %config InlineBackend.figure_format = 'svg'
      

      这样可以将图像以SVG格式显示,更加清晰。注意,这个设置只会影响图像在Jupyter Notebook中的显示效果,并不会影响保存的图像。

      最后,如果你在绘制图像时需要显示中文字符,可以通过以下代码修改字体设置:

      import matplotlib.pyplot as plt
      plt.rcParams['font.sans-serif'] = ['SimHei']
      plt.rcParams['axes.unicode_minus'] = False
      

      这样可以设置使用SimHei字体显示中文字符,并且解决Matplotlib中文乱码问题。

      希望以上方法对解决你的问题有帮助,如果还有其他问题,请随时提问。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月21日

悬赏问题

  • ¥15 关于stm32hal库驱动ft6336触摸屏遇到的问题
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂
  • ¥15 数字信号处理考试111
  • ¥100 关于#audobe audition#的问题,如何解决?
  • ¥15 allegro17.2生成bom表是空白的
  • ¥15 请问一下怎么打通CAN通讯
  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥15 高通uboot 打印ubi init err 22