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()

现在想把图的标题放在图的正下方怎么修改呢

2个回答

←如果以下回答对你有帮助,请点击右边的向上箭头及采纳下答案
plt.title()没有位置设置功能,可以不显示title,用text代替
相关资料:
https://blog.csdn.net/helunqu2017/article/details/78659490

qq_28354911
Wiyeeii 可以像R语言那样在正下方吗
一年多之前 回复
qq_28354911
Wiyeeii 谢谢啦,后面采取了使用text代替标题,代码方面好像找不到方法解决
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python使用matplotlib绘图怎么把图的标题放到图下方

``` plt.title('助攻表现(常规赛)') plt.ylabel('场均助攻数') plt.xlabel('年份-冠军球队') plt.ylim(17) plt.setp(plt.xticks(idx,tick)[1],rotation=90) plt.legend(bbox_to_anchor=(1.15,1)) plt.show() ``` 怎么修改呢,像R那样把标题放在图下面

python用matplotlib显示图片出错

源代码: import os from PIL import Image import matplotlib.pyplot as plt img = Image.open(os.path.join('', 'Testsample' + '.png')) plt.figure("Image") # 图像窗口名称 plt.imshow(img) plt.axis('on') # 关掉坐标轴为 off plt.title('image') # 图像题目 plt.show() 去掉plt.show(),就没有错误 错误提示: AttributeError: 'numpy.ndarray' object has no attribute 'mask'![图片说明](https://img-ask.csdn.net/upload/201803/19/1521467447_98280.png)

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】为什么matplotlib的ax.set_xticklabel()放在类的__init__()里就没用?

因为要画很多图就写了个画图类,但是初始化的时候加上ax.set_xticklabels()就会没用。 ```python class DrawCharts: def __init__(self, title='', xlabel='', ylabel='', xticks=None, yticks=None, xticklabels=None, yticklabels=None, xscale='linear', yscale='linear', autofmt_x=True): self.title = title self.xlabel = xlabel self.ylabel = ylabel self.xticks = xticks self.yticks = yticks self.xticklabels = xticklabels self.yticklabels = yticklabels self.xscale = xscale self.yscale = yscale self.autofmt_x = autofmt_x # 解决中文显示问题 self.font = {'family': 'SimHei', # 字体:黑体 'size': '16'} # 字号:16 plt.rc('font', **self.font) # 设置字体的更多属性 plt.rc('axes', unicode_minus=False) # 解决坐标轴负数的负号显示问题 self.fig, self.ax = plt.subplots() self.ax.set_title(self.title) self.ax.set_xlabel(self.xlabel) self.ax.set_ylabel(self.ylabel) if self.xticks is not None: self.ax.set_xticks(self.xticks) if self.yticks is not None: self.ax.set_yticks(self.yticks) if self.xticklabels is not None: self.ax.set_xticklabels(self.xticklabels) if self.yticklabels is not None: self.ax.set_yticklabels(self.yticklabels) self.ax.set_xscale(self.xscale) # 坐标轴:线性:'linear',指数:'symlog' self.ax.set_yscale(self.yscale) if self.autofmt_x == True: self.fig.autofmt_xdate() def show_figs(self): plt.show() def draw_plot(self, xdata, ydata, color='dodgerblue', label=''): self.ax.plot(xdata, ydata, color=color, label=label) if __name__ == "__main__": x = [1, 2, 3] y = [1, 5, 7] chart = DrawCharts('图形', 'x标签', 'y标签',xticks=[1, 2, 3], xticklabels=['a', 'b', 'c']) chart.draw_plot(x, y) chart.show_figs() ``` 这样执行出来就完全没有自定义标签。 ![xticklabels无效](https://img-ask.csdn.net/upload/201905/12/1557664449_438887.png) 但是这样的话,就能显示了。 ```python if __name__ == "__main__": x = [1, 2, 3] y = [1, 5, 7] chart = DrawCharts('图形', 'x标签', 'y标签') chart.ax.set_xticks([1, 2, 3]) chart.ax.set_xticklabels(['a', 'b', 'c']) chart.draw_plot(x, y) chart.show_figs() ``` ![xticklabels显示](https://img-ask.csdn.net/upload/201905/12/1557664122_13764.png) 想问下大佬们为什么。

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代码,可以正常执行,但结果最后却有段提示,求教是怎么回事

x = np.linspace(1,21,num=5) y = np.linspace(11,23,num=5) X,Y = np.meshgrid(x,y) plt.figure(figsize=(9,8),tight_layout=True) plt.subplot(2,2,1) plt.plot(x,y,"r-o") # 绘制X,Y,红色、直线、圆圈 plt.xlabel("X") # X坐标轴的label plt.ylabel("Y") # Y坐标轴的label plt.title("y = x") # 图像的名字title plt.grid("on") # 图像中添加网格 plt.subplot(2,2,2) plt.plot(X,Y,"b-o") # 绘制X,Y,红色、直线、圆圈 plt.xlabel("X") # X坐标轴的label plt.ylabel("Y") # Y坐标轴的label plt.title("meshgrid(x,y)") # 图像的名字title plt.grid("on") # 图像中添加网格 plt.subplot(2,2,3) x = np.linspace(1,10,num=15) y = np.sin(x) plt.plot(x,y,"g-o") # 绘制X,Y,红色、直线、圆圈 plt.xlabel("X") # X坐标轴的label plt.ylabel("Y") # Y坐标轴的label plt.title("meshgrid(x,y)") # 图像的名字title plt.grid("on") # 图像中添加网格 plt.subplot(2,2,4) X,Y = np.meshgrid(x,y) plt.plot(X,Y,"y-o") # 绘制X,Y,红色、直线、圆圈 plt.xlabel("X") # X坐标轴的label plt.ylabel("Y") # Y坐标轴的label plt.title("meshgrid(x,y)") # 图像的名字title plt.grid("on") # 图像中添加网格 plt.show() 以上是原始代码,执行完后,可以显示四张图形,但是在最下面还显示了一串提示: D:\Anaconda3\lib\site-packages\matplotlib\cbook\deprecation.py:107: MatplotlibDeprecationWarning: Passing one of 'on', 'true', 'off', 'false' as a boolean is deprecated; use an actual boolean (True/False) instead. warnings.warn(message, mplDeprecation, stacklevel=1)

matplotlib库在ubuntu下的一个bug?

当我在Ubuntu 16.10下使用matplotlib绘制以下程序的图形时: 程序是: ``` # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 1000) y = np.sin(x) z = np.cos(x**2) plt.figure(figsize=(8,4)) plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2) plt.plot(x,z,"b--",label="$cos(x^2)$") plt.xlabel("Time(s)") plt.ylabel("Volt") plt.title("PyPlot First Example") plt.ylim(-1.2,1.2) plt.legend() plt.show() ``` 这是官方给出的win下的标准输出: ![图片说明](https://img-ask.csdn.net/upload/201704/15/1492257795_541926.png) 然而,我在Ubuntu 16.10下得到的输出却是: ![图片说明](https://img-ask.csdn.net/upload/201704/15/1492257835_241238.png) 右上角蓝色虚线后应该是上图一样显示cosx的平方的,但实际得到的却不一样,这是为何?

python中的hist函数相关的问题,请各位帮我看下

import numpy as np import pandas as pd import matplotlib.pyplot as plt f=open(r"C:\Strategic Planning\shuju\sample_stk_day_n\sh600005.csv") Iris = pd.read_csv(f) plt.figure(figsize=(25,22)) for ii,name in zip(range(len(Iris.columns.values)),Iris.columns.values): plt.subplot(10,3,ii+1) plt.hist(Iris[:,ii],50,color="red",alpha = 0.5) plt.title(ii) plt.subplots_adjust(bottom = 0.99,top = 2.5) plt.show() 运行后报错: TypeError Traceback (most recent call last) <ipython-input-50-83d26b87f210> in <module>() 6 #plt.hist(bcanerX[bcanerY[:] == 0,ii],50,color="green",alpha = 0.5) 7 #plt.hist(bcanerX[bcanerY[:] == 1,ii],50,color="red",alpha = 0.5) ----> 8 plt.hist(Iris[:,ii],50,color="red",alpha = 0.5) 9 plt.title(ii) 10 D:\Anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key) 2686 return self._getitem_multilevel(key) 2687 else: -> 2688 return self._getitem_column(key) 2689 2690 def _getitem_column(self, key): D:\Anaconda3\lib\site-packages\pandas\core\frame.py in _getitem_column(self, key) 2693 # get column 2694 if self.columns.is_unique: -> 2695 return self._get_item_cache(key) 2696 2697 # duplicate columns & possible reduce dimensionality D:\Anaconda3\lib\site-packages\pandas\core\generic.py in _get_item_cache(self, item) 2485 """Return the cached item, item represents a label indexer.""" 2486 cache = self._item_cache -> 2487 res = cache.get(item) 2488 if res is None: 2489 values = self._data.get(item) TypeError: unhashable type: 'slice' 补充:我的Iris数据,总共只有29列

用matplotlib设置横坐标为日期时出现问题

在学习《python从入门到实践》第16章时画气温图时出现如下问题 如图![图片说明](https://img-ask.csdn.net/upload/201811/17/1542440700_544980.png) 代码如下: import csv from datetime import datetime import matplotlib.dates as mdates from matplotlib import pyplot as plt # 从文件中获取最高气温 filename = 'death_valley_2014.csv' with open(filename) as f: reader = csv.reader(f) header_row = next(reader) dates, highs, lows = [], [], [] for row in reader: try: current_date = datetime.strptime(row[0], "%Y-%m-%d") high = int(row[1]) low = int(row[3]) except ValueError: print(current_date, 'missing data') else: dates.append(current_date) highs.append(high) lows.append(low) # 根据数据绘制图形 fig = plt.figure(dpi=128, figsize=(10, 6)) plt.plot(dates, highs, c='red', alpha=0.5) plt.plot(dates, lows, c='blue', alpha=0.5) plt.fill_between(dates, highs, lows, facecolor='blue', alpha=0.1) # 设置图形的格式 plt.title("Daily high and low temperatures - 2014\nDeath Valley", fontsize=24) plt.xlabel('', fontsize=20) plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) plt.gca().xaxis.set_major_locator(mdates.DayLocator()) fig.autofmt_xdate() plt.ylabel("Temperature(F)", fontsize=16) plt.ylim((10, 120)) plt.tick_params(axis='both', which='major', labelsize=16) plt.show()

提示:TypeError: title() missing 1 required positional argument: 'label',求解。

import numpy as np import matplotlib.pyplot as plt plt.subplot(111,polar = True) dataLenth = 5 angles = np.linspace(0,2*np.pi,dataLenth,endpoint=False) labels =['沟通能力','业务理解能力','逻辑思维能力','快速学习能力','工具使用能力'] data = [2,3.5,4,4.5,5] data = np.concatenate((data, [data[0]])) angles = np.concatenate((angles, [angles[0]])) plt.polar(angles,data,color = "r",marker = "o") plt.xticks(angles,labels) plt.title(t = "某数据分析师的综合评级") plt.savefig("D:/pyx/polarplot.jpg") 上面是相关代码,运行后提示错误:TypeError: title() missing 1 required positional argument: 'label',求解。

matplotlib画图时坐标轴范围和刻度无法正常设置,未报错

import csv import warnings warnings.simplefilter(action='ignore', category=FutureWarning) from datetime import datetime from matplotlib import pyplot as plt file_path=r'C:\Users\YSRD-B-0281\Desktop\forth.csv' with open(file_path) as f: reader=csv.reader(f) header_row=next(reader) dates,ohs=[],[] for row in reader: current_date=datetime.strptime(row[7],"%Y/%m/%d %H:%M") dates.append(current_date) oh=float(row[6]) ohs.append(row[6]) fig=plt.figure(dpi=128,figsize=(10,6)) plt.plot(dates,ohs,c='brown',alpha=0.5) plt.title("E4",fontsize=24) plt.ylim((0,120)) plt.yticks([0,20,40,60,80,100]) plt.show() plt.close()![图片说明](https://img-ask.csdn.net/upload/201907/25/1564039180_988567.png)

等高线图如何只画出负值区?(读取的nc文件为4维数值)

先贴代码和图 ``` #—*— coding utf-8 -*- ''' Created on Wed 27 10:22:00 2019 @auther WYL ''' import numpy as np import matplotlib.pyplot as plt import netCDF4 as nc obj = nc.Dataset('f:/merra2/W/MERRA2_400.inst3_3d_asm_Np.20120601.SUB.nc4') lat = obj.variables['lat'][:] lev = obj.variables['lev'][0:20] lon = obj.variables['lon'][220:280] time= obj.variables['time'][0] W = obj.variables['OMEGA'][0,0:20,100,220:280] obj2 = nc.Dataset("f:/merra2/QV/MERRA2_400.inst3_3d_asm_Np.20120/ 610.SUB.nc4") time_bnds = obj2.variables['time_bnds'][:] time1 = obj2.variables['time'][0] lev1 = obj2.variables['lev'][0:20] lat1 = obj2.variables['lat'][:] lon1 = obj2.variables['lon'][220:280] QV = obj2.variables['QV'][0,0:20,100,220:280] QV = QV*1000 plt.figure(figsize=(12,6)) plt.semilogy()#取对数坐标 plt.gca().invert_yaxis()#Y轴坐标反转 lons,levs=np.meshgrid(lon,lev) x,y = lons,levs #W=np.arange(-0.3,0,0.05) shade = plt.contour(x,y,Welem,5,colors='k') shade1= plt.contourf(x,y,QV,10,cmap='jet') plt.colorbar(shade1) plt.clabel(shade,inline=1,fontsize=10) plt.rcParams['font.sans-serif']=['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.title('35°N垂直速度、水汽叠加图(垂直速度:Pa·s﹣,水汽:g·kg﹣1)') plt.show() ``` ![图片说明](https://img-ask.csdn.net/upload/201903/28/1553778747_36098.png) 请问如何在显示等值线时只显示小于零的部分,即红色只显示虚线的数据。在线等,急

matplotlib词云和饼状图的标注问题

为啥词云的左上角会出现饼状图的标注,怎么去掉词云这部分的标注,还有饼状图柱状图和词云函数的调用顺序也会影响最后绘制出来的图片,这是为什么??? import pymongo import snownlp as sn import matplotlib.pyplot as plt import numpy as np import sys from PyQt5.QtGui import * from PyQt5.QtWidgets import * import jieba from os import path from PIL import Image from wordcloud import WordCloud bg = np.array(Image.open("./data/233.jpg")) d = path.dirname(__file__) stopwords_path = './data/stop_word.txt' text_path = "test.txt" text = open(path.join(d, text_path), encoding='utf-8').read() class filedialogdemo(QWidget): def __init__(self, parent=None): super(filedialogdemo, self).__init__(parent) layout = QHBoxLayout() self.lable1 = QLabel() self.lable1.setPixmap(QPixmap("./data/bar.jpg")) layout.addWidget(self.lable1) self.lable2 = QLabel() self.lable2.setPixmap(QPixmap("./data/pie.jpg")) layout.addWidget(self.lable2) self.lable3 = QLabel() self.lable3.setPixmap(QPixmap("./data/WordCloud.png")) layout.addWidget(self.lable3) self.setLayout(layout) self.setWindowTitle("Result") def sentiment(text): if text == '': return 0.5 else: s = sn.SnowNLP(text) return s.sentiments def Paint_Bar(num1, num2, num3, num4): plt.rcParams['font.sans-serif'] = ['SimHei'] #显示中文 plt.bar(0.125, num1,width=0.1, label='really bad') plt.bar(0.375, num2,width=0.1, label='bad') plt.bar(0.625, num3,width=0.1, label='good') plt.bar(0.875, num4,width=0.1, label='really good') plt.text(0.125, num1 + 0.5, '%d' % num1, ha='center', va='bottom') plt.text(0.375, num2 + 0.5, '%d' % num2, ha='center', va='bottom') plt.text(0.625, num3 + 0.5, '%d' % num3, ha='center', va='bottom') plt.text(0.875, num4 + 0.5, '%d' % num4, ha='center', va='bottom') plt.xlabel(u'x轴') plt.ylabel(u'y轴') ax = plt.gca() ax.spines['right'].set_color('none') ax.spines['top'].set_color('none') plt.xlim(0, 1) plt.xticks([0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1]) plt.title(u'柱形图') plt.legend() plt.savefig('./data/bar.jpg') def Paint_Scatter(list): plt.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文 plt.title(u'散点图') list_len = len(list) for list_num in range(list_len): plt.scatter(list[list_num], list[list_num]) def Paint_Pie(num1, num2, num3, num4): list = [] list.append(num1) list.append(num2) list.append(num3) list.append(num4) s = np.max(list) if s == num1: k = 0 elif s == num2: k = 1 elif s == num3: k = 2 else: k = 3 explode = [0,0,0,0] explode[k] = 0.1 labels = 'really bad', 'bad', 'good', 'really good' plt.axes(aspect=1) #椭圆变标准圆 plt.pie(x=list, explode=explode, labels=labels, autopct='%3.1f %%', shadow=True, labeldistance=1.1, startangle=90, pctdistance=0.6) plt.axis('equal') plt.savefig('./data/pie.jpg') def JiebaClearText(text): MywordList = [] seg_list = jieba.cut(text, cut_all=False) listStr = '/'.join(seg_list) f_stop = open(stopwords_path, encoding='utf-8') try: f_stop_text = f_stop.read() finally: f_stop.close() f_stop_seg_list = f_stop_text.split("\n") for myword in listStr.split('/'): if not(myword.split()) in f_stop_seg_list and len(myword.strip()) > 1: MywordList.append(myword) return ' '.join(MywordList) def Paint_cloud(): text1 = JiebaClearText(text) wc = WordCloud(background_color="white", max_words=150, mask=bg, # 设置图片的背景 max_font_size=60, random_state=42, font_path='C:/Windows/Fonts/simkai.ttf' # 中文处理,用系统自带的字体 ).generate(text1) plt.imshow(wc, interpolation="bilinear") plt.axis("off") plt.savefig('./data/WordCloud.png') def run(): num1 = 0 num2 = 0 num3 = 0 num4 = 0 list0 = [] mongo_uri = 'mongodb://localhost:27017/' client = pymongo.MongoClient(mongo_uri) db = client.weibo collection = db.weibo data = collection.find() data = list(data) list_len = int(len(data)) f = open('test.txt', 'w', encoding='utf-8') for num in range(list_len): dict = data[num] text = dict['content'] f.write(text) if text != ':' and text != 0: text_num = sentiment(text) list0.append(text_num) if text_num < 0.25: num1 += 1 elif text_num < 0.5: num2 += 1 elif text_num <0.75: num3 += 1 else: num4 += 1 f.close() Paint_Bar(num1, num2, num3, num4) #柱形图 Paint_Pie(num1, num2, num3, num4) #饼状图 Paint_cloud() #词云 app = QApplication(sys.argv) ex = filedialogdemo() ex.show() sys.exit(app.exec_()) if __name__ == '__main__': run() ![图片说明](https://img-ask.csdn.net/upload/201904/24/1556093276_144225.png)

matplotlib绘制k线图如何跳过周末等数据空白日期,让图形连贯起来?

#!/usr/bin/python # -*- coding: UTF-8 -*- from pylab import * import talib from pylab import * import mpl_finance as mpf from matplotlib.pylab import date2num import pandas as pd import datetime mpl.rcParams['font.sans-serif'] = ['SimHei'] quotes = [] stock = pd.read_csv('99999.csv', index_col=None) for row in range(260): sdate_plt = row print(sdate_plt) sopen = stock.loc[row, 'open'] shigh = stock.loc[row, 'high'] slow = stock.loc[row, 'low'] sclose = stock.loc[row, 'close'] datas = (sdate_plt, sopen, shigh, slow, sclose) # 按照 candlestick_ohlc 要求的数据结构准备数据 quotes.append(datas) fig, ax = plt.subplots(facecolor=(0, 0.3, 0.5), figsize=(12, 8)) fig.subplots_adjust(bottom=0.1) ax.xaxis_date() plt.xticks(rotation=45) # 日期显示的旋转角度 plt.title('2018年7月1日至今k线图',fontsize=18) plt.ylabel('价格(元)',fontsize=15) mpf.candlestick_ohlc(ax, quotes, width=0.7, colorup='r', colordown='green') # 上涨为红色K线,下跌为绿色,K线宽度为0.7 plt.annotate(s='brown x = buying; green x = selling',xy=('2016-7-11',4400), xytext=('2016-7-11',4400),bbox=dict(boxstyle='round,pad=0.5', fc='yellow', ec='k', lw=2, alpha=0.5)) plt.grid(axis='y',linestyle='-.') plt.show() 1. ``` ![图片说明](https://img-ask.csdn.net/upload/201908/22/1566463928_276488.png)

Python绘制词频统计图,怎么输出到GUI,而不是输出到控制台?

# -*- coding: utf-8 -*- from tkinter import * import tkinter import hashlib import time import codecs import codecs import matplotlib.pyplot as plt from pylab import mpl mpl.rcParams['font.sans-serif'] = ['FangSong'] # 指定默认字体 mpl.rcParams['axes.unicode_minus'] = False # 解决保存图像是负号'-'显示为方块的问题 LOG_LINE_NUM = 0 class MY_GUI(): def __init__(self,init_window_name): self.init_window_name = init_window_name #设置窗口 def set_init_window(self): self.init_window_name.title("维吉尼亚密码工具") #窗口名 self.init_window_name.geometry('320x160+10+10') #290 160为窗口大小,+10 +10 定义窗口弹出时的默认展示位置 self.init_window_name.geometry('1000x680+10+10') self.init_window_name["bg"] = "white" #窗口背景色,其他背景色见:blog.csdn.net/chl0000/article/details/7657887 self.init_window_name.attributes("-alpha",1.0) #虚化,值越小虚化程度越高 self.init_data_label = Label(self.init_window_name, text="待处理数据") self.init_data_label.grid(row=0, column=0) self.result_data_label = Label(self.init_window_name, text="输出结果") self.result_data_label.grid(row=0, column=15) self.init_key_label = Label(self.init_window_name, text="密钥") self.init_key_label.grid(row=0, column=10) self.log_label = Label(self.init_window_name, text="日志") self.log_label.grid(row=12, column=0) self.init_data_Text = Text(self.init_window_name, width=50, height=35) # 原始数据录入框 self.init_data_Text.grid(row=1, column=0, rowspan=10, columnspan=10) self.result_data_Text = Text(self.init_window_name, width=35, height=49) # 处理结果展示 self.result_data_Text.grid(row=1, column=12, rowspan=15, columnspan=10) self.key_Text = Text(self.init_window_name, width=5, height=1) # 密钥框 self.key_Text.grid(row=1, column=6, rowspan=1,columnspan=10) self.log_data_Text = Text(self.init_window_name, width=66, height=9) # 日志框 self.log_data_Text.grid(row=13, column=0, columnspan=10) #按钮 self.str_transtoencrypt_button = Button(self.init_window_name, text="加密", bg="lightblue", width=10,command=self.str_transtoencrypt) # 调用内部方法 加()为直接调用 self.str_transtoencrypt_button.grid(row=3, column=11) self.str_transtodecrypt_button = Button(self.init_window_name, text="解密", bg="lightblue", width=10,command=self.str_transtodecrypt) # 调用内部方法 加()为直接调用 self.str_transtodecrypt_button.grid(row=5, column=11) self.str_count_button = Button(self.init_window_name, text="词频统计", bg="lightblue", width=10,command=self.str_count) # 调用内部方法 加()为直接调用 self.str_count_button.grid(row=7, column=11) #功能算法的实现 #加密算法 def str_transtoencrypt(self): letter_list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; src = self.init_data_Text.get(1.0,END).strip().replace("\n","") #获得输入的字符 key = self.key_Text.get(1.0, END).strip().replace("\n", "") #获得输入的密钥 a=[] for ch in key: a.append(ord(ch.upper())-65) #ord()函数返回ASCii值 upper()将小写转大写Python 列表 append() 方法用于在列表末尾追加新的对象。 get_list = a ciphertext = ''; i = 0 for ch in src: # 遍历明文 if i % len(get_list) == 0: i = 0 if ch.isupper(): # isupper函数检测字符串中是否都是大写字母 ciphertext += letter_list[(ord(ch) - 65 + get_list[i]) % 26] i += 1 else: ciphertext += letter_list[(ord(ch) - 97 + get_list[i]) % 26].lower() i += 1 self.result_data_Text.delete(1.0, END) self.result_data_Text.insert(1.0, ciphertext) #解密算法 def str_transtodecrypt(self): letter_list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; src = self.init_data_Text.get(1.0, END).strip().replace("\n", "") # 获得输入的字符 key = self.key_Text.get(1.0, END).strip().replace("\n", "") # 获得输入的密钥 a=[] for ch in key: a.append(ord(ch.upper())-65) #ord()函数返回ASCii值 upper()将小写转大写Python 列表 append() 方法用于在列表末尾追加新的对象。 get_list = a ciphertext = ''; i = 0 plaintext=''; i = 0 for ch in src: #遍历密文 if i%len(get_list)==0: i=0 #判断是否是大写 if ch.isupper(): plaintext+=letter_list[(ord(ch)-65-get_list[i]) % 26] i+=1 else: plaintext+=letter_list[(ord(ch)-97-get_list[i]) % 26].lower() i+=1 self.result_data_Text.delete(1.0, END) self.result_data_Text.insert(1.0, plaintext) #词频统计及统计图 def str_count(self): top = Toplevel() top.title('词频统计结果') top.geometry('1000x1000') fr =self.init_data_Text.get(1.0,END).strip().replace("\n","") word = [] counter = {} for line in fr: line = line.strip() if len(line) == 0: continue for w in line: if not w in word: word.append(w) if not w in counter: counter[w] = 0 else: counter[w] += 1 counter_list = sorted(counter.items(), key=lambda x: x[1], reverse=True) print(counter_list[:50]) label = list(map(lambda x: x[0], counter_list[:50])) value = list(map(lambda y: y[1], counter_list[:50])) plt.bar(range(len(value)), value, tick_label=label) plt.show() def gui_start(): init_window = Tk() #实例化出一个父窗口 RMC_PORTAL = MY_GUI(init_window) # 设置根窗口默认属性 RMC_PORTAL.set_init_window() init_window.mainloop() #父窗口进入事件循环,可以理解为保持窗口运行,否则界面不展示 gui_start() ``` ``` ![如图,点击词频统计按钮后,统计图出现在IDE中,同时生成一个空白窗口图片说明](https://img-ask.csdn.net/upload/201810/12/1539334357_812708.jpg)

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()

使用keras进行分类问题时,验证集loss,accuracy 显示0.0000e+00,但是最后画图像时能显示出验证曲线

data_train, data_test, label_train, label_test = train_test_split(data_all, label_all, test_size= 0.2, random_state = 1) data_train, data_val, label_train, label_val = train_test_split(data_train,label_train, test_size = 0.25) data_train = np.asarray(data_train, np.float32) data_test = np.asarray(data_test, np.float32) data_val = np.asarray(data_val, np.float32) label_train = np.asarray(label_train, np.int32) label_test = np.asarray(label_test, np.int32) label_val = np.asarray(label_val, np.int32) training = model.fit_generator(datagen.flow(data_train, label_train_binary, batch_size=200,shuffle=True), validation_data=(data_val,label_val_binary), samples_per_epoch=len(data_train)*8, nb_epoch=30, verbose=1) def plot_history(history): plt.plot(training.history['acc']) plt.plot(training.history['val_acc']) plt.title('model accuracy') plt.xlabel('epoch') plt.ylabel('accuracy') plt.legend(['acc', 'val_acc'], loc='lower right') plt.show() plt.plot(training.history['loss']) plt.plot(training.history['val_loss']) plt.title('model loss') plt.xlabel('epoch') plt.ylabel('loss') plt.legend(['loss', 'val_loss'], loc='lower right') plt.show() plot_history(training) ![图片说明](https://img-ask.csdn.net/upload/201812/10/1544423669_112599.jpg)![图片说明](https://img-ask.csdn.net/upload/201812/10/1544423681_598605.jpg)

想用python画一个类似热图但是其中标有数字并有colorbar的图,论坛的大神能不能给个思路啊

小弟是python小白,想用python画一个类似热图但是其中标有数字并有colorbar的图,论坛的大神能不能给个思路啊 ![图片说明](https://img-ask.csdn.net/upload/201804/02/1522661147_944281.png) 图片具体就是上面这样,表内数字是0-1之间的数,实验了imshow()函数 但是不能标数字,实验了tabel()函数,但是不能显示colorba。 恳请论坛大神们指点迷津。 横轴和纵轴需要自己定义范围,就是说横轴纵轴表示其他意义,跟表内数字无关,横轴和纵轴的可以用图里的

python用matplotlib画K线

import matplotlib.pyplot as plt import matplotlib.finance as mpf with open('SH#600004.txt') as obj: text=obj.readlines() baseinfo=text[0] dayinfo=text[2:-1] date_list =[dayinfo[i].split(',')[0] for i in range(len(dayinfo))] open_list =[dayinfo[i].split(',')[1] for i in range(len(dayinfo))] high_list =[dayinfo[i].split(',')[2] for i in range(len(dayinfo))] low_list =[dayinfo[i].split(',')[3] for i in range(len(dayinfo))] close_list=[dayinfo[i].split(',')[4] for i in range(len(dayinfo))] quotes=zip(date_list,open_list,high_list,low_list,close_list) #N=100 #open_list[:N],high_list[:N],low_list[:N],close_list[:N] fig,ax=plt.subplots() mpf.candlestick_ohlc(ax,quotes,width=0.6,colorup='r',colordown='green') plt.title(baseinfo) plt.xlabel(date_list) plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.rcParams['axes.unicode_minus']=False #用来正常显示负号 plt.show() **#以下是报错信息 C:\ProgramData\Anaconda3\python.exe G:/python/test/test.py C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\cbook\deprecation.py:106: MatplotlibDeprecationWarning: The finance module has been deprecated in mpl 2.0 and will be removed in mpl 2.2. Please use the module mpl_finance instead. warnings.warn(message, mplDeprecation, stacklevel=1) Traceback (most recent call last): File "G:/python/test/test.py", line 18, in <module> mpf.candlestick_ohlc(ax,quotes,width=0.6,colorup='r',colordown='green') File "C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\finance.py", line 737, in candlestick_ohlc alpha=alpha, ochl=False) File "C:\ProgramData\Anaconda3\lib\site-packages\matplotlib\finance.py", line 794, in _candlestick height = open - close TypeError: unsupported operand type(s) for -: 'str' and 'str'** 我搜了下知道日期格式转换需要用到date2num这个函数 我的文本里面日期格式是XXXX/XX/XX的形式 请问quotes一项里日期需求的格式是什么?

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

再不跳槽,应届毕业生拿的都比我多了!

跳槽几乎是每个人职业生涯的一部分,很多HR说“三年两跳”已经是一个跳槽频繁与否的阈值了,可为什么市面上有很多程序员不到一年就跳槽呢?他们不担心影响履历吗? PayScale之前发布的**《员工最短任期公司排行榜》中,两家码农大厂Amazon和Google**,以1年和1.1年的员工任期中位数分列第二、第四名。 PayScale:员工最短任期公司排行榜 意外的是,任期中位数极小的这两家公司,薪资...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

数据库——玩转SQL语句(以MySQL为例)

一、前言 照着大学的SQL server来学

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

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

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

01、Java入门(Getting Started);02、集成开发环境(IDE);03、项目结构(Eclipse JavaProject);04、类和对象(Classes and Objects);05:词法结构(Lexical Structure);06:数据类型和变量(Data Type and Variables);07:运算符(Operators);08:控制流程语句(Control Flow Statements);

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

立即提问
相关内容推荐