求助:python中用plt绘制图形时,如何限定图形尺寸(要使横纵坐标不等比例)?

需要将矩阵可视化,生成一个正方形的热力图,但原矩阵不是方阵,导致输出的图形始终是个矩形。

尝试了plt.figure(figsize=(6, 6));但只能让输出的图片是正方形(绘图区还是一个矩形,结果见后图)。

恳请大神赐教,不胜感激!


import numpy as np
import matplotlib.pyplot as plt

#data为8x4的矩阵
data=np.array([[1,3,5,2],[2,6,4,9],[4,7,0,3],[8,5,1,7],[1,3,6,2],[2,8,4,0],[3,7,9,1],[8,5,1,7]])

plt.figure(figsize=(6, 6))
cmap=plt.cm.inferno#设置热力图的颜色样式
img=plt.imshow(data,cmap=cmap)
plt.colorbar()

图片说明

2个回答

weixin_45857220
Cody Pong 换成plt.figure(dpi=XX)也没有用,不管dpi是多少,出来的形状都是一样的。这个blog里更改dpi之后,只有横坐标的比例发生了变化......但我更改dpi后横纵坐标是一起变的......
3 个月之前 回复

plt.axis('tight')

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python使用scatter绘制散点图,如何一次绘制多组?

我知道了:把show改为close就好了 python使用scatter绘制散点图,我用的for循环去画下一个散点图,但是必须每次都要show一下图片,不然就会和上一个散点图重合,show出来就必须关掉这个图,才能能画下一个 ,那么如何才能不show,或者把show的结果自动关闭,让程序一次跑完。 代码模板: for x in 5: for y in 5: xValue = excel_col500[x][0:14] yValue = excel_col500[y][0:14] plt.title(u'散点图示例', FontProperties=font) plt.xlabel('x-value') plt.ylabel('y-label') plt.legend() plt.scatter(xValue, yValue, s=10, c="#ff1212", marker='o') plt.savefig("D:%d%d.png" % (x, y)) plt.show()

python 散点图绘制坐标轴异常

绘制散点图找两数据之间的变化情况,结果发现图形显示异常。 在excel中的图像与python绘制出的图像相差太大。 具体图形如下: plt:![图片说明](https://img-ask.csdn.net/upload/201812/20/1545279868_281700.png) 从图中可以看到y轴的值无顺序排列 excel:![图片说明](https://img-ask.csdn.net/upload/201812/20/1545279941_63202.png) 而excel的图像则是正常显示。 原始部分数据如下: ![图片说明](https://img-ask.csdn.net/upload/201812/20/1545280018_236333.png) python plt代码: plt.scatter(df_tmp['新品销售占比'].head(),df_tmp['老品销进比'].head()) 麻烦各位大佬指导一二

python plt 绘图 问题

![图片说明](https://img-ask.csdn.net/upload/201808/14/1534227583_383436.png) 如图, y 轴 刻度, 红框中间的那部分刻度是没用的,我也没设置中间这部分刻度,plt.yticks(y, [i for i in range(0, 401, 10)] + [i for i in range(2399, 2699, 100)]), 请问怎么能不显示这多余的刻度呢,感觉它自动增长的呢

python 用plt.title()怎么把图的标题放在图的下面?或者有其他的方法解决

python 用plt.title()怎么把图的标题放在图的下面?或者有其他的方法解决 ``` plt.figure(1,figsize=(12,8)) plt.bar(idx,team_season_3pt,label='场均出手' , color='deeppink') plt.bar(idx,team_season_3p,label='场均命中数', color='black') plt.scatter(idx,rate,label='命中率' , color='blue') plt.plot(idx,rate,linewidth=0.5,color='black',linestyle='-') plt.legend(bbox_to_anchor=(1,1)) plt.setp(plt.xticks(idx,tick)[1],rotation=90) plt.title('三分球统计(常规赛)') plt.xlabel('年份-冠军球队') plt.show() ``` 现在想把图的标题放在图的正下方怎么修改呢

python用plotly绘制折线图为什么跑下来没有图

版本:python3.6、anaconda3(64bit) 问题描述:使用plotly跑下来没有报错,但是也不显示图。即使加上plt.show(),也无济于事,还请大神指点,谢谢。 代码如下: import plotly.plotly as plt import plotly.offline as pltoff from plotly.graph_objs import * # 生成折线图 def line_plots(name): dataset = {'x': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 'y': [5, 4, 1, 3, 11, 2, 6, 7, 19, 20], 'z': [12, 9, 0, 0, 3, 25, 8, 17, 22, 5]} data_g = [] tr_x = Scatter( x=dataset['x'], y=dataset['y'], name='y' ) data_g.append(tr_x) tr_z = Scatter( x=dataset['x'], y=dataset['z'], name='z' ) data_g.append(tr_z) layout = Layout(title="line plots", xaxis={'title': 'x'}, yaxis={'title': 'value'}) fig = Figure(data=data_g, layout=layout) pltoff.plot(fig, filename=name) plt.show()

如何更改用 matplotlib 绘制的图形的大小?

<div class="post-text" itemprop="text"> <p>如何更改用matplotlib绘制的图形大小?</p> </div> <p>转载于:https://stackoverflow.com/questions/332289/how-do-you-change-the-size-of-figures-drawn-with-matplotlib</p>

python 如何统计数据并绘制字母柱状图

如图,怎么绘制如右图坐标,要用到哪些知识,求大佬指点,谢谢![图片说明](https://img-ask.csdn.net/upload/202003/18/1584496875_291397.png)

python中用hist模块进行作图时,如何使不同色块之间有明显的线的区分,而不是一整块

1.问题描述如上 ``` import matplotlib.pyplot as plt import numpy.random as npr rn1 = npr.rand(500,3) plt.figure(figsize = (6,4)) plt.hist(rn1,bins=25,stacked=True) ``` 然后图片出来是这样的: ![图片说明](https://img-ask.csdn.net/upload/202002/22/1582357537_965159.png) 求助能不能让色块有明显的区别

为什么python绘图时imshow函数和plot画出的子图大小不一致?请大神们指教

fig = plt.figure(figsize=(2.5, 3.53557), dpi=180) ax1 = fig.add_subplot(711) norma = mpl.colors.Normalize(vmin=0, vmax=40) map = ax1.imshow(data112, interpolation='nearest', cmap=cmap, as pect='auto', norm=norma, origin='lower') font2 = {'family': 'Times New Roman', 'weight': 'normal', 'size': 30} plt.xlabel('Electron low energy range(1~22MeV)', font2, fontsize=4, labelpad=0.5) plt.ylabel('Pitch Angle(deg.)', font2, fontsize=3, labelpad=0.1) plt.xlim(0, 262) plt.ylim(0, 9) cb = fig.colorbar(mappable=map, cax=None, ax=ax1, pad=0.01, aspect=2, shrink=1.0, norm=norm, ticks=[0, 10, 20, 30]) cb.set_label('$Counts(cm^-2s^-1Str^-1)$', size=2) cb.ax.tick_params(labelsize=4, direction='in', right='True') ax7 = fig.add_subplot(717) ax7.plot(np.arange(0, len(Electron_counts)), Electron_counts, color='b', label='e', linewidth=0.4) ax7.plot(np.arange(0, len(Proton_counts)), Proton_counts, color='r', label='p', linewidth=0.4) plt.legend(bbox_to_anchor=(1.01, 0.5), loc=6, borderaxespad=0, fontsize=4) font2 = {'family': 'Times New Roman', 'weight': 'normal', 'size': 30} plt.xlabel('Electron low energy range(1~22MeV)', font2, fontsize=2, labelpad=0.5) plt.xlim(0, 262) plt.ylim(0, 340) plt.ylabel('$Counts(cm^-2s^-1Str^-1)$', font2, fontsize=2, labelpad=0.5) plt.yticks([0, 100, 200, 300], ['0', '100', '200', '300']) plt.show() ![图片说明](https://img-ask.csdn.net/upload/201908/17/1566030580_217227.png) ``` ```

python plt.show()总是无限弹出另存为窗口?

各位大神好!在使用python2.7画图的时候,plt.show()总是无限弹出另存为窗口?如果不关闭图片,一直会无限弹出另存为和另一个窗口?(做任何图都是) 不知道是不是哪里需要设置一下,IDE和pycharm均相同。小白求问! 见下图:谢谢各位大大! ![图片说明](https://img-ask.csdn.net/upload/202006/04/1591266598_316232.jpg) ![图片说明](https://img-ask.csdn.net/upload/202006/04/1591261789_548462.png) ![图片说明](https://img-ask.csdn.net/upload/202006/04/1591261798_359869.png)

python在绘制图像时候,x轴的坐标未能显示

python在绘制图像时候,x轴的坐标未能显示。 显示的图片如下: ![图片说明](https://img-ask.csdn.net/upload/202004/15/1586948508_773451.png) 代码如下(本人用的是 jupyter notebook): ``` import urllib.request import json import pygal import math from itertools import groupby # json_url = "https://raw.githubusercontent.com/muxuezi/btc/master/btc_close_2017.json" # req = urllib.request.urlopen(json_url) # json = req.read() # #将数据写入文件 # with open("E:/Jupyter/json收盘数据.json","wb") as f: # f.write(json) filename = "E:/Jupyter/json收盘数据.json" with open(filename) as f: btc_data = json.load(f) # #打印每一天的信息(获取数据过程) # for btc_dict in btc_data: # data = btc_dict["date"] # month = int(btc_dict["month"]) # week = int(btc_dict["week"]) # weekday = btc_dict["weekday"] # close = int(float(btc_dict["close"])) # print("{} is month {} week {},{},the close price is {}RMB".format(data,month,weekday,weekday,close)) #绘制收盘价折线图 dates = [] month = [] weeks = [] weekdays = [] close = [] #每一天信息 for btc_dict in btc_data: dates.append(btc_dict["date"]) month.append(int(btc_dict["month"])) weeks.append(int(btc_dict["week"])) weekdays.append(btc_dict["weekday"]) close.append(int(float(btc_dict["close"]))) #绘制收盘价对数变换价折线图 line_chart = pygal.Line(x_label_rotation = 20,show_minor_x_labels = True) line_chart.title = "收盘价" line_chart.x_label = dates N = 20 #x轴每隔20天显示一次 line_chart.x_labels_major = dates[::N] close_log = [math.log10(_) for _ in close] line_chart.add("收盘价",close_log) line_chart.render_to_file("收盘对数变换价折现图.svg") ```

python分组绘制箱线图的问题

初学者。我现在有这样一张类似以下形式的excel表: 编号 性别 工资 1 男 5000 2 女 4000 3 男 8000 4 男 7000 5 女 1000 6 男 6000 7 女 3000 我已经用pandas读入excel表了,用groupby对性别分组,现在想要用matplotlib在一张图上分别绘制男和女的工资的箱线图,但是好像出现了问题,不知道应该怎么解决. PS:这里原始表格包含中文 我编的代码如下: import pandas as pd import matplotlib.pyplot as plt import numpy as np data = pd.read_excel('XXX.xlsx') data1 = data.groupby('性别') plt.boxplot(data1['工资])

python中的画图坐标问题

![图片说明](https://img-ask.csdn.net/upload/201905/06/1557111844_975037.png) 这个是我用python画的图 我想实现以下两个目标的任意一个: 1.鼠标点在图上就可以显示该点的横纵坐标 2.从图的中间某位置画一条竖线,将该曲线分成两部分,并能求出这条直线与曲线的交点坐标 刚学python,很多东西都不会,希望大家不吝赐教 谢谢

python3.7 读取csv文件某一行用plt画图坐标轴乱,不按数字大小排列怎么解决?

读取的CSV文件,输出如图,用plt做图出来的坐标轴排序乱了,怎么改代码 应该是数据类型的问题,但是我不知道要怎么改数据类型改成什么样。求代码,谢了。

Python的多重饼图怎么绘制

我想绘制多重饼图,但是网上的教程出了点问题,想请大神帮忙看看是怎么了。 ``` import matplotlib.pyplot as plt vals1 = [1, 2, 3, 4] vals2 = [2, 3, 4, 5] fig, ax = plt.subplots() labels = 'A', 'B', 'C', 'D' colors = ["#34495E","#FFFF01","#0000FE","#FE0000"] ax.pie(vals1, radius=1.2,autopct='%1.1f%%',pctdistance=0.9,colors=colors) ax.pie(vals2, radius=1,autopct='%1.1f%%',pctdistance=0.75,colors=colors) ax.set(aspect="equal", title='Pie plot with `ax.pie`') #plt.legend() plt.legend(labels,bbox_to_anchor=(1, 1), loc='best', borderaxespad=0.) plt.show() ``` ![图片说明](https://img-ask.csdn.net/upload/201801/15/1515984290_869860.png) 这是运行结果,问题就是这跟网上的教程不一样,颜色混在一起了。 ![图片说明](https://img-ask.csdn.net/upload/201801/15/1515984361_622888.png) 我需要这样的效果,其实就是少了圆外面的分割线,我想问,应该怎么做?

python使用matplotlib.pyplot绘制折线图纵坐标(y轴)与实际图内坐标不符,请问是什么原因呢?

python使用matplotlib.pyplot绘制折线图纵坐标(y轴)与实际图内坐标不符,效果图如下 (右下角是实际坐标) ![图片说明](https://img-ask.csdn.net/upload/202005/30/1590812415_307302.png) 绘图代码如下 ``` plt.subplot(121),plt.plot([160,1600,3200,6400,9600,12800,16000],[85.66261,75.2519,72.2787,69.2498,67.4960,66.2274,65.2696],'r-*') plt.subplot(122),plt.plot([160,1600,3200,6400,9600,12800,16000],[0.99999980,0.99999443,0.99998277,0.99994450,0.99990344,0.99986035,0.99981919]) plt.show() ```

python 画图,用csv,怎么修改时间间隔和x轴间隔

fig.autofmt_xdate() # 设置x轴时间外观 ax1 = fig.add_subplot(1,1,1) autodate = mdate.AutoDateLocator() ax1.xaxis.set_major_locator(autodate) # 设置时间间隔 # 设置时间标签显示格式 dateFmt = mdate.DateFormatter('%y%m%d') ax1.xaxis.set_major_formatter(dateFmt) # 将x轴次刻度标签设置为61的倍数 xminorLocator = MultipleLocator(61) # 显示次刻度标签的位置,没有标签文本 ax1.xaxis.set_minor_locator(xminorLocator) #ax1.set_xticks() # 设置间隔 ax1.set_xlim(date2num('2018/01/02'),date2num('2018/01/29')) # 设置x轴范围 plt.xticks(rotation=90) # 显示日期旋转90度 plt.title(u'图') plt.plot(x,y, label='') plt.grid(True) plt.xlabel(u'日期') plt.ylabel(u'百分比') plt.legend(loc=2,prop={'family':'SimHei','size':12}) # loc=2 : upper left plt.savefig("图.png", dpi=100) plt.show()

python使用pandas处理绘图问题

版本:python3.6、anaconda3(64bit) 电脑配置:i7 3.6HZ 8CPU/8G内存 问题描述:使用pandas成功获取SQL数据后,首先我用sql的一个测试库 只有10个数据绘制折线图成功;后用正式库里面有20W条数据,运行后 没有报警,也没有反应等了5分钟也没有。我想知道它有没有在处理,怎 么看(是前后加time语句吗?)还请大神指点 以下是引用的库 import pandas as pd import matplotlib as mb import matplotlib.pyplot as plt import pandas as pd import pymysql

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Python可以这样学(第四季:数据分析与科学计算可视化)

Python可以这样学(第四季:数据分析与科学计算可视化)

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

javaWeb图书馆管理系统源码mysql版本

系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

Java8零基础入门视频教程

Java8零基础入门视频教程

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

TTP229触摸代码以及触摸返回值处理

自己总结的ttp229触摸代码,触摸代码以及触摸按键处理

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

快速排序---(面试碰到过好几次)

原理:    快速排序,说白了就是给基准数据找其正确索引位置的过程.    如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.    首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18&amp;lt...

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

Python数据挖掘简易入门

Python数据挖掘简易入门

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

C++语言基础视频教程

C++语言基础视频教程

UnityLicence

UnityLicence

软件测试2小时入门

软件测试2小时入门

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

超详细MySQL安装及基本使用教程

一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下:  然后点击downloads,community,选择MySQL Community Server。如下图:  滑到下面,找到Recommended Download,然后点击go to download page。如下图:  点击download进入下载页面选择No...

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

web网页制作期末大作业

分享思维,改变世界. web网页制作,期末大作业. 所用技术:html css javascript 分享所学所得

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Spring Boot -01- 快速入门篇(图文教程)

Spring Boot -01- 快速入门篇 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到【慕课网】手机 app,去找【Spring Boot 2.0 深度实践】的课程,令人开心的是,课程完全免费! 什么是 Spring Boot? Spring Boot 是由 Pivotal 团队提供的全新框架。Spring Boot...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问