请教下python 图表库如何获取图表中被标记的小方格的坐标?

当前访客身份:游客 [
当前位置:
最近我在做一个爬虫的模块,也就是下载其他站点上的图片,现在的问题是如何不下载完整张图片获取图片尺寸?因为图片尺寸过小我抛弃的话就浪费读完整张图片的流量了,预先读取图片文件头然后根据文件头判断?请问各位有什么其他的好的解决办法,请赐教。
共有2个答案
<span class="a_vote_num" id="a_vote_num_
先读取HTTP头中的Content-Type,如果 image/* 就是图像,然后根据不同格式读取文件头,例如GIF第7、8字节是图像宽度,而第9、10字体是图像高度。
用AAuto写了一个简单的演示程序供参考,python应当也很简单。
import console
import inet.whttp
var http = inet.whttp();
http.beginRequest(&/img/bdlogo.gif&)
http.send();//发送请求
//取文件大小
console.log(&文件大小&,fsys.formatSize( http.readHeader(&Content-Length&) + 0 ) )
var contentType = http.readHeader(&Content-Type&)
if( contentType == &image/gif& ){
var imageData = &&;
for( block,size in http.eachRead() ){
imageData +=
if( #imageData & 10){
var gifHeader = raw.convert( imageData,{ BYTES magic[6];WORDWORD height });
console.log(&GIF图像 宽度&,gifHeader.width)
console.log(&GIF图像 高度&,gifHeader.height)
//停止下载
http.close(); //关闭连接
<span class="a_vote_num" id="a_vote_num_
不知道这样行不行:发个HEAD的HTTP头过去,然后看看返回的HTTP头里的Content-Length大小。
--- 共有 3 条评论 ---
: 那看来这个问题是解决不了,要等下一代HTTP协议来实现了。
(1年前)&nbsp&
: 因为你说了是要省流量,所以我能想到的就只是这样了。如果你发正常的头,那服务器肯定会把整个图片发过来。如果只看图片的前几个字节来判断尺寸,那判断完得立即关闭TCP SOCKET,但即使关了,说不定数据还得会发过来,只是系统底层自动丢弃了,这样也还是费流量。
(1年前)&nbsp&
Content-Length
这个是文件大小,文件大小并不能完全反应出图片尺寸的。
(1年前)&nbsp&
有什么技术问题吗?
悲催不悲催的其他问题
类似的话题python 画图 横坐标为时间轴时怎么手动控制时间
&来源:读书人网&【读书人网():综合教育门户网站】
python 画图 横坐标为时间轴时如何手动控制时间当x轴为时间轴y轴为数据时,时间轴过密就会看不清时间如图1,
python 画图 横坐标为时间轴时如何手动控制时间当x轴为时间轴y轴为数据时,时间轴过密就会看不清时间如图1,如何才能控制时间标签不过密[解决办法]你用的或图模块肯定有调节的[解决办法]和范围多大没啥关系吧,貌似下图格线14天,但是上图也就多一个月格线反倒变得很小,这样说明是你自己没设定好来...[解决办法]考虑一下,把时间点信息换成空&嘿嘿......时间........时间......[解决办法]引用:和范围多大没啥关系吧,貌似下图格线14天,但是上图也就多一个月格线反倒变得很小,这样说明是你自己没设定好来...我猜他的意思是想画很多个节点,但坐标只显示关键的节点例如画100个点,但坐标只显示0、10、20、30……应该他用的作图模块能控制的[解决办法]如何设置看文档吧,说说你用啥模块绘图?[解决办法]这个跟matlab完全一样,你修改了ticklabels,也就是x轴显示的文字标签但是具体要显示多少个标签,取决于xtick,而不是ticklabels,跑一下下面的代码,然后根据你的需求改一下就行import&matplotlib.pyplot&as&pltx&=&[0,5,9,10,15]y&=&[0,1,2,3,4]plt.plot(x,y)plt.grid(True)plt.xticks(range(min(x),max(x)+1,3))plt.show()python使用matplotlib绘制xy坐标轴图
推荐阅读:
Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页、QQ 聊天、收发 email 等等。要解决网络上两台主机之间的进程通信
如何选择外贸建站服务商?这是很多逛福步想建站的外贸公司和外贸SOHO发愁的事情。的确,外贸建站服务商那么多,都说自己的服务好,符合SEO优化标准,可选风格也很多,价格也都差不多,选哪家才好呢?其实选择建站服务商也不难,套用福步VIP的话说,就是建站不
由于毕设的需要,想江一些数据以图的方式展现出来,又不想用其他的工具,编程语言也越来越习惯用python,所以就查了下用python怎么画xy坐标轴图。
需要安装第三方库matplotlib,在官网上后安装说要先安装numpy,,装了Numpy之后又说某些依赖找不到=,=真是蛋疼,所以,,如果你像我一样在ubuntu12.04下面,直接在ubuntu software center搜matplotlib,直接安装就行~
在终端打开python,输入:
import matplotlib.pyplot as plt&
x=[1,2,3,4]&
y=[t**2 for t in x]&
plt.plot(x,y)&
plt.show()&
import matplotlib.pyplot as plt
x=[1,2,3,4]
y=[t**2 for t in x]
plt.plot(x,y)
plt.show()
这样我们就画了y=x*x的一部分图了~
效果如下:
阅读更多:
使用php的odbc函数,不创建数据源。 $connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("test.mdb") ; $connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ); 亲试代码,可用哦。 Php Access sample code.
最近在A5论坛上看到很多朋友总是问:我的网站降权了怎么办啊?跟帖的什么人都有,真心帮忙的没几个,大多数是混外链的。今天我就讲一下网站降权之后我是怎么做的,首先我声明一下,我已经成功恢复了两个了。最好是刚降权的就开始用如下方法操作,时间越久恢复
&#160;&#160;下一篇:
下载次数:loading FREEpython 画图 横坐标为时间轴时怎么手动控制时间_perl/python大全_优良自学吧 |
当前位置: >
> python 画图 横坐标为时间轴时怎么手动控制时间优良自学吧提供python 画图 横坐标为时间轴时怎么手动控制时间,python 画图 横坐标为时间轴时如何手动控制时间 当x轴为时间轴y轴为数据时,时间轴过密就会看不清时间如图1,如何才能控制时间标签不过密,你用的或图模块肯定有调节的,和范围多大没啥关系吧,貌似下图格线14天,但是上图也就多一个月格线反python 画图 横坐标为时间轴时如何手动控制时间
当x轴为时间轴y轴为数据时,时间轴过密就会看不清时间如图1,如何才能控制时间标签不过密------解决方案--------------------你用的或图模块肯定有调节的------解决方案--------------------和范围多大没啥关系吧,貌似下图格线14天,但是上图也就多一个月格线反倒变得很小,这样说明是你自己没设定好来...------解决方案--------------------考虑一下,把时间点信息换成空&嘿嘿
......时间........时间......------解决方案--------------------引用:和范围多大没啥关系吧,貌似下图格线14天,但是上图也就多一个月格线反倒变得很小,这样说明是你自己没设定好来...
我猜他的意思是想画很多个节点,但坐标只显示关键的节点
例如画100个点,但坐标只显示0、10、20、30……
应该他用的作图模块能控制的------解决方案--------------------如何设置看文档吧,说说你用啥模块绘图?------解决方案--------------------这个跟matlab完全一样,你修改了ticklabels,也就是x轴显示的文字标签
但是具体要显示多少个标签,取决于xtick,而不是ticklabels,跑一下下面的代码,然后根据你的需求改一下就行
import&matplotlib.pyplot&as&plt
x&=&[0,5,9,10,15]
y&=&[0,1,2,3,4]
plt.plot(x,y)
plt.grid(True)
plt.xticks(range(min(x),max(x)+1,3))
plt.show()(本文来自互联网,不代表搜站(/)的观点和立场)编辑推荐最近更新收藏,1.3k 浏览
用Qt获取到的数据写如文本文件中,然后再用python读取绘制折线图。
最近写一个人眼识别的东西,想实时的查看眼睛坐标的折线图,识别程序是用C++写的,用到了Qt,python的matplotlib看着很强大,就试着用它绘制了图片。
1.Qt写文件操作
首先我把识别的数据写入到文本文件中,用到Qt写文件操作,Qt写文件操作还是很方便的,比原生态的C++好用一点。首先需要include两个头文件:
#include &qfile.h&
#include &qtextstream.h&
然后就直接可以在代码中使用了
QFile f("/home/tairy/Documents/result/9.txt");
if(!f.open(QIODevice::WriteOnly | QIODevice::Text|QIODevice::Append |QIODevice::Truncate)){
cerr && "Open failed." &&
QTextStream txtOutput(&f);
txtOutput&&i&&","&&1&&","&&faces[0]-&e_lx&&","&&faces[0]-&e_ly&&
txtOutput&&i&&","&&2&&","&&faces[0]-&e_rx&&","&&faces[0]-&e_ry&&
txtOutput&&i&&","&&3&&","&&faces[0]-&np_x&&","&&faces[0]-&np_y&&
txtOutput&&i&&","&&4&&","&&faces[0]-&ml_x&&","&&faces[0]-&ml_y&&
f.close();
上面的代码简单的实现了写如的操作,要注意的是linux系统下要对写入的文件给相应的权限,否则写如会失败。
2.python绘制图像
python绘制图像需要import一个库
import matplotlib.pyplot as plt
然后就可以使用下面的代码绘制折线图了
plt.plot(nose_times, nose_x, 'o-')#这里的第一个参数是所有点的x轴的一个list,第二个是对应的y轴,第三的参数是绘制的点的属性,像这里的o就表示圆点,后面一条短线表示每个点用线连接。
plt.xlabel('times')
plt.ylabel('nose_x')
plt.title('nose_x-time filgue')
# plt.ylim(390,420)
plt.xlim(i,i+200)
plt.show()
#其他的都意思很明确,就不多解释了。
3.实现实时绘制图片
我的思路就是用一个while 1:死循环不停的读取文本文件,这样绘图窗口关闭一次就可以实现图像更新一次,觉得方法还是有点笨,真在努力寻找跟简单的方法,第一次用python绘图,很多东西都的一点点的找!!
不要错过 TA 的任何更新
如果这篇文章对你有帮助,记得点赞收藏哦,你的支持是我们的动力 ^___^
分享到微博?
举报理由:
带有人身攻击、辱骂、仇恨等违反条款的内容
与已有问题重复(请编辑该提问指向已有相同问题)
内容质量差,或不适合在本网站出现
答非所问,不符合答题要求
其他原因(请补充说明)
补充说明:

我要回帖

更多关于 excel图表双坐标轴 的文章

 

随机推荐