labe.set_fontname
时间: 2023-06-20 16:10:10 浏览: 95
(label.set_fontname)
这是一个方法,用于设置标签控件的字体名称。它需要一个字符串参数,表示字体名称。例如,如果您想将标签控件的字体设置为Arial,则可以使用以下代码:
```
label.set_fontname("Arial")
```
请注意,该方法只适用于一些 GUI 工具包,如 Tkinter。在其他工具包中可能会有类似的方法,但语法和用法可能会有所不同。
相关问题
import matplotlib.pyplot as plt import numpy as np #数据 species = ['Adelie','Chinstrap','Gentoo'] attributes = ['Bill Depth','Bill Length','Flipper Length'] data = [[18.35,18.43,14.98],[38.79,48.83,47.5],[189.95,195.82,217.19]] fig,ax = plt.subplots() bar_width = 0.25 bar_positions = np.arange(len(species)) bar_positions_Adelie = bar_positions-bar_width bar_positions_Chinstrap = bar_positions bar_positions_Gentoo = bar_positions+bar_width #绘制Adelie的柱状图 ax.bar(bar_positions_Adelie,data[0],width=bar_width,label=attributes[0]) #绘制Chinstrap的柱状图 ax.bar(bar_positions_Chinstrap,data[1],width=bar_width,label=attributes[1]) #绘制Gentoo的柱状图 ax.bar(bar_positions_Gentoo,data[2],width=bar_width,label=attributes[2]) #设置图形属性 ax.set_ylabel('Length(mm)') ax.set_title('Penguin attributes by species') ax.set_xticks(np.arange(len(species))) ax.set_xticklabels(species) ax.legend() for i in range(len(attributes)): for j in range(len(species)): labe = str(data[j][i]) ax.annotate(label,xy=(bar_positions[j]+(i-1)*bar_width/2,data[j][i]),ha='center',va='bottom') plt.show()优化代码
import matplotlib.pyplot as plt
import numpy as np
# 数据
species = ['Adelie','Chinstrap','Gentoo']
attributes = ['Bill Depth','Bill Length','Flipper Length']
data = np.array([[18.35,18.43,14.98],[38.79,48.83,47.5],[189.95,195.82,217.19]])
# 设置柱状图参数
bar_width = 0.25
bar_positions = np.arange(len(species))
bar_positions_Adelie = bar_positions-bar_width
bar_positions_Chinstrap = bar_positions
bar_positions_Gentoo = bar_positions+bar_width
# 绘制柱状图
fig,ax = plt.subplots()
for i in range(len(attributes)):
ax.bar(bar_positions_Adelie+i*bar_width, data[:,i], width=bar_width, label=attributes[i])
# 设置图形属性
ax.set_ylabel('Length(mm)')
ax.set_title('Penguin attributes by species')
ax.set_xticks(np.arange(len(species)))
ax.set_xticklabels(species)
ax.legend()
# 添加数值标签
for i in range(len(attributes)):
for j in range(len(species)):
label = str(data[j][i])
ax.annotate(label, xy=(bar_positions[j]+i*bar_width-0.05, data[j][i]+2), fontsize=8)
plt.show()
val userrdd = sc.textFile("C:\\Users\\20430\\Desktop\\spark课设\\users.dat").map(_.split("::")).map(x => (x(0), (x(1), x(2), x(3)))) //用户ID 用户性别 用户年龄 用户职业 val rdd5 = rdd4.join(userrdd) // rdd5.collect().foreach(println) val data: RDD[sex] = rdd5.map(x => sex(x._1, x._2._1._1, x._2._1._2, x._2._2._3, x._2._2._2, x._2._2._1)) import spark.implicits._ val df = data.toDF() //创建dataFrame df.createOrReplaceTempView("sex2") //临时表 val resultDF: DataFrame = spark.sql("select userid,movieid,labe,rating,zhiye,sex from sex2 lateral view explode(split(schema,'\\\\|')) tmp as labe") resultDF.coalesce(1).write.csv("C:\\Users\\20430\\Desktop\\spark课设\\输出") resultDF.show()
这段代码主要是将用户信息、电影信息和评分信息进行整合,并输出到CSV文件中。具体来说,代码第一行通过 `sc.textFile()` 方法将指定路径下的users.dat文件以文本形式读入,然后通过 `map()` 方法对每一行进行切割,得到一个数组,其中数组的第0个元素是用户ID,第1个元素是用户性别,第2个元素是用户年龄,第3个元素是用户职业。然后通过 `map()` 方法将每个元素转换成 Tuple 的形式,即 (userId, (userGender, userAge, userOccupation))。
代码第二行是将电影评分数据和用户信息进行组合,通过 `join()` 方法将rdd4和userrdd进行join操作,得到rdd5。其中,rdd4是已经处理好的电影评分数据和电影类型数据,每个元素是一个Tuple,形如 (userId, (movieId, rating)),userrdd是已经处理好的用户数据,每个元素是一个Tuple,形如 (userId, (userGender, userAge, userOccupation))。
代码第三行是将rdd5中的元素进行转换,将元素的各个部分提取出来,构成一个新的样例类sex的对象,其中sex样例类的各个属性分别对应用户ID、电影ID、评分、职业、性别和年龄。返回一个新的RDD data,其中每个元素都是一个sex对象。
代码第四行将RDD转换成DataFrame类型,然后为DataFrame创建一个名为sex2的临时表。
代码第五行是通过Spark SQL查询的方式,将sex2表展开,得到一个新的DataFrame resultDF,其中每个元素都是一个Tuple,形如 (userId, movieId, label, rating, occupation, gender)。其中,label是指电影类型,通过explode和split函数将sex2表中的schema列展开为多行,每行对应一个电影类型。结果将DataFrame输出到CSV文件中。
代码最后一行是将DataFrame以表格形式展示出来。
阅读全文