excel2010树状图制作-利用excel表格,如何制作家谱树状图
怎样用EXCEL做树状图?
1、在电脑上新建一个EXCEL文档,打开。
2、在界面上方的菜单栏点击“插入”选项,选择“SmartArt”工具。
3、在弹出的对话框中选择“层次结构。
4、随意选择了一种树状图,弹出的树状图如下,图中的文字部分可以更改成需要的内容。
5、更改树状图形状:选择任意需要更改的树状图单元,鼠标右键单击,在弹出的菜单中选择“更改形状”,可将树状图单元改成需要的形状。
6、添加树状图的单元:选择任意需要更改的树状图单元,鼠标右键单击,在弹出的菜单中选择“添加形状”,在树状单元的前、后、上、下方添加单元。
7、其中选择了“在后方添加形状”、“在下方添加形状”选项后,效果如下图所示:
扩展资料:
为了用图表示亲缘关系,把分类单位摆在图上树枝顶部,根据分枝可以表示其相互关系,具有二次元和三次元。在数量分类学上用于表型分类的树状图,称为表型树状图(phenogram),掺入系统的推论的称为系统树状图(cladogram)以资区别。
表型树状图是根据群析描绘的,系统树状图是根据一种模拟的假定的性状进化方向即用电子计算机描绘的。树状图也是初中学生学习概率问题所需要画的一种图形。
参考资料:
——树状图
Excel树状图制作教程Excel
树状图
制作教程,excel表格制作树状图可以更加的清晰明了的知道数据,那么excel制作树状图应该怎么样做请看下面的excel表格制作教程
图吧
!
第一步,调出窗体控件。
从“开发工具”中调出窗体控件“选项按钮”2个和“组合框”1个,并对两个选项按钮根据要对比的数据内容进行重命名,选中选项按钮,点击右键,再点击“编辑文字”即可。
第二步,设置控件格式。
首先,设置按钮控件格式:选中“选项按钮”—>点击右键,再点击“设置控件格式”—>在“单元格链接”中选中“$L$2”,点击“确定”,这时会发现选中“部门”按钮,L2单元格的值为1,选中“月份”按钮,L2单元格的值为2。
其次,设置组合框控件格式:
1、A9-A13的单元格分别输入各部门名称,B9-B14分别输入月份;
2、点击菜单栏“公式”—>点击“名称管理器”—>点击“新建”,在“名称”输入“下拉列表”,“引用位置”输入“=CHOOSE(sheet1!$L$2,sheet1!$A$9:$A$13,sheet1!$B$9:$B$14)”—>点击“确定”“关闭”;
3、选择“组合框”—>点击“右键”,“设置控件格式”—>在“数据源区域”输入“下拉列表”,“单元格连接”输入“$M$2”,点击“确定”。
此时会发现“组合框”中会出现相应的部门名称列表和月份列表,当选中某个项目时,M2的'值也会发生相应变化。
第三步,设置显示数据。
在对数据进行处理时,应注意对原始数据的保护,故可把原始数据复制到另外一个工作表进行处理。
首先是单个部门每月销售数据:在A16输入“=OFFSET(A1,$M$2,)”,并选中该单元格,当指针变成黑色十字时,往右拖至G16。
接着是各个部门某月份的销售数据:在A18—A22的区域内输入各个部门名称,在B18输入“=OFFSET(A2,,$M$2)”,并选中该单元格,当指针变成黑色十字时,往下拖至B22(在这里也可以尝试用Vlookup函数实现)。
然后定义数据名称:启用“名称管理器”,点击“新建”,“名称”输入“X轴标志”,“引用位置”输入“=CHOOSE(sheet1!$L$2,sheet1!$B$9:$B$14,sheet1!$A$9:$A$13)”;再点击“新建”,“名称”输入“Y轴数据”,“引用位置”输入“=CHOOSE(sheet1!$L$2,sheet1!$B$16:$G$16,sheet1!$B$18:$B$22)”。
至此数据的准备工作完成。
第四步,制作数据图。
点击可放大显示
把指针移到空白位置,在菜单栏点击“插入”,选择“簇状柱形图”得到空白的数据图—>选中该图,菜单栏出现“图表工具”,点击“设计”,点击“选择数据”,出现“选择数据源”界面—>在“图例项(系列)”中点击“添加”,在“系列值”输入“=销售数据对比动态图1xls!Y轴数据”点击“确定”—>“在水平(分类)轴标签”中点击“编辑”,在“轴标签区域”中输入“=销售数据对比动态图1xls!X轴标志”,连续两次点击“确定”,便得到数据图草图。
此时,我们再选择选项按钮和下拉列表中的项目,便会发现图表也跟着相应变化。
第五步,美化图表。
点击可放大
首先是图表标题:在D9单元格输入“图表标题1”,E9输入“=A16&”每月销售数据对比””;在D10输入“图表标题2”,E10输入“=M2&”月份各部门销售数据对比””;在E11输入“=CHOOSE($L$2,$E$9,$E$10)”;插入窗体控件“按钮”,选中该控件,在编辑栏输入“=$E$11”,按
Enter键
,可以发现按钮的文字内容和E11的文字一致。
其余可根据个人喜好对数据系列格式、
坐标轴
和网格线等进行优化。
利用excel表格,如何制作家谱树状图EXCEL有SmartArt图形,如下截图:插入--SmartArt---层次结构
(1) 文件操作功能:记录输入、记录输出,清除全部文件记录和将家谱记录存盘。
(2) 家谱操作功能:用括号表示法输出家谱二叉树,查找某人所有的儿子,查找某人所有的祖先
(3)家谱国际“修谱王”的软件很全面了,可以自己去借鉴一下哈。
以word
2007为例,方法如下:
1、依次单击“插入”、插图框中的“SmartArt”,在出现的对话框中选择“层次结构”、在右边出现的“组织结构图”中选中竖排或横排的结构图例,双击出现的“文本”,填写家谱姓氏辈份等信息。
2、家族人丁兴旺的可以在不同的辈份(行或列)添加多个文本,具体方法是点击想要添加位置附近文本框,在菜单栏中点击“添加形状”,在子菜单中选择在后、前、上、下添加即可。
3、页面布局可以设置为横板,纸张设置大些,因为家谱人员太多,一张A3横板往往都写不下。
mport javaawtBorderLayout;
import javaawtDimension;
import javaawteventActionEvent;
import javaawteventActionListener;
import javautilRandom;
import javaxswingJButton;
import javaxswingJFrame;
import javaxswingJPanel;
import javaxswingJScrollPane;
import javaxswingJTree;
import javaxswingtreeDefaultMutableTreeNode;
public class Randomtree extends JFrame {
private JTree tree;
public static String[] school = { "初中课程", "高中课程", "大学课程" };
public static String[] color = { "颜色", "运动", "食物" };
public static String[] plant = { "植物", "动物", "人" };
public static String[][] school2= {
{ "初中一年级", "初中二年级", "初中三年级"}, {"高中一年级", "高中二年级",
"高中三年级"}, {"大学一年级", "大学二年级", "大学三年级", "大学四年级"} };
public static String[][] color2 = {
{ "绿色", "白色", "红色"}, {"足球", "篮球",
"羽毛球"}, {"面包", "牛奶", "披萨", "热狗"} };
public static String[][] plant2 = {
{ "玫瑰花", "月季花", "海棠花"}, {"猪", "狗",
"猫"}, {"黄种人", "黑种人", "白种人", } };
public static void main(String[] args) {
// TODO 自动生成方法存根
new Randomtree();
}
public Randomtree() {
super();
final Random random=new Random();
setVisible(true);
setSize(300,400);
tree = new JTree();
final JPanel panel = new JPanel();
panelsetPreferredSize(new Dimension(0, 40));
getContentPane()add(panel, BorderLayoutNORTH);
final JScrollPane scrollPane = new JScrollPane();
scrollPanesetPreferredSize(new Dimension(300, 350));
getContentPane()add(scrollPane, BorderLayoutCENTER);
final JButton button = new JButton();
buttonaddActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int k=randomnextInt(3);
tree=getTree(k);
scrollPanesetViewportView(tree);
}
});
scrollPanesetViewportView(null);
buttonsetText("随机生成树");
paneladd(button);
pack();
}
protected JTree getTree(int n) {
String[] second=null;
String[][] three=null;
if(n==0){second=school; three=school2;}
if(n==1){second=color; three=color2;}
if(n==2){second=plant; three=plant2;}
DefaultMutableTreeNode root=new DefaultMutableTreeNode("root");
for(int i=0;i<secondlength;i++){
DefaultMutableTreeNode secondNode=new DefaultMutableTreeNode(second[i]);
for (int j=0;j<three[i]length;j++){
DefaultMutableTreeNode threetNode=new DefaultMutableTreeNode(three[i][j]);
secondNodeadd(threetNode);
}
rootadd(secondNode);
}
JTree tree=new JTree(root);
treeexpandRow(1);
treeexpandRow(5);
treeexpandRow(9);
return tree;
}
}
简单的 例子你可以模仿一下
/实验14—2 设计一个程序,采用二叉树表示一个家谱关系。要求程序具有如下功能:
(1) 文件操作功能:记录输入、记录输出,清除全部文件记录和将家谱记录存盘。
(2) 家谱操作功能:用括号表示法输出家谱二叉树,查找某人所有的儿子,查找某人所有的祖先。/
#include<iostreamh>
#include<stdlibh>
#include<stdioh>
#include<stringh>
typedef struct Node
{
int degree;//人员所在代数
char data;//人员标志
struct Node lchild;//data的孩子
struct Node rchild;//data的兄弟
}BTNode;
#define max 100
int choose;
char X;
void CreatBTNode(BTNode b,char str);//创建记录
BTNode SearchX(BTNode b,char X);//查找记录
void InputBTNode(BTNode b,char str);//1记录输入
void OutputBTNode(BTNode b,char str);//2记录输出
void Store(BTNode b,char str);//3家谱记录存盘
void DispTree(BTNode b);//4用括号法输出家谱
void SearchXSon(BTNode b,char X);//5查找某人的儿子
void SearchXAncestor(BTNode b,char X);//6查找某人的祖先
void Distory(BTNode b,char str);//7清除全部文件记录
int main()
{BTNode b=NULL;
char str=(char)malloc(maxsizeof(char));
str[0]='\0';
cout<<"--------------------------------------------------------------------"<<endl;
cout<<"0退出"<<endl;
cout<<"1记录输入:\t"<<endl;
cout<<"2记录输出:\t"<<endl;
cout<<"3家谱记录存盘:\t"<<endl;
cout<<"4用括号法输出家谱:\t"<<endl;
cout<<"5查找某人的儿子:\t"<<endl;
cout<<"6查找某人的祖先:\t"<<endl;
cout<<"7清除全部文件记录:\n"<<endl;
cout<<"-------------------------------------------------------------------"<<endl;
cout<<"Please choose the operation you want to do "<<endl;
cout<<"choose=";
cin>>choose;
while(choose)
{switch(choose)
{
case 1:
InputBTNode(&b,str);break;
case 2:
OutputBTNode(&b,str);break;
case 3:
Store(b,str);
printf("文件已经保存!");
break;
case 4:
DispTree(b); break;
case 5:
printf("请输入需要查找儿子的结点:");
cin>>X;
SearchXSon(b,X);
break;
case 6:
printf("请输入需要查找祖先的结点:\n");
cin>>X;
BTNode p;
p=SearchX(b,X);
if(p!=NULL)
SearchXAncestor(b,X);
else
printf("该结点不存在!");
break;
case 7:
Distory(&b,str);
printf("文件记录已经清除!");
break;
default:
cout<<endl<<"Invalid input,input again";
}
cout<<endl<<"please choose again:"<<endl;
cout<<"the choose =";
cin>>choose;
}
return 0;
}
void CreatBTNode(BTNode b,char str) //创建树
{
BTNode S[max],p=NULL;
int top=-1,tag,j=0,d=0;
char ch;
b=NULL;
ch=str[j];
while(ch!='\0')
{
switch(ch)
{
case '(':
d++;
top++;
S[top]=p;
tag=1;break;
case ')':
top--;break;
case ',':
d--;
tag=2;break;
default:
p=(BTNode )malloc(sizeof(BTNode));
p->degree=d;
p->data=ch;
p->lchild=NULL;
p->rchild=NULL;
if((b)==NULL)(b)=p;
else
{
switch(tag)
{
case 1: S[top]->lchild=p;break;
case 2: S[top]->rchild=p;break;
}
}
}
ch=str[++j];
}
}
void InputBTNode(BTNode b,char str)//记录输入
{
do
{
printf("请输入需要输入的记录:\n");
gets(str);
if(str[0]=='\0')
printf("输入的记录为空,请再次输入:\n");
}while(str[0]=='\0');
CreatBTNode(b,str);
printf("记录创建成功!");
}
void OutputBTNode(BTNode b,char str)//从文件中读出记录
{
FILE fp;
if((fp=fopen("wangljtxt","r"))==NULL)
{
printf("不存在记录文件,要建立吗\n建立请输入Y,否则按其他键:");
if(getchar()=='Y')
{
fp=fopen("wangljtxt","w+");
printf("记录文件“wangljtxt”已建立\n");
}
else
exit(1);
}
else
{
if(!feof(fp))
fscanf(fp,"%s",str);
fclose(fp);
CreatBTNode(b,str);
printf("文件中记录已输出\n");
}
}
void Store(BTNode b,char str)//储存全部的结点记录
{
BTNode p;
p=b;
FILE fp;
fp=fopen("wangljtxt","w+");
if(fp==NULL)
{
printf("文件打开失败!");
return;
}
else
{
if(p!=NULL)
{
fprintf(fp,"%s",str);
fclose(fp);
}
}
}
void DispTree(BTNode b)//用括号法输出家谱记录
{
if(b!=NULL)
{printf("%c",b->data);
if(b->lchild!=NULL||b->rchild!=NULL)
{printf("(");
DispTree(b->lchild);
if(b->rchild!=NULL)
{printf(",");
DispTree(b->rchild);
}
printf(")");
}
}
else
printf("\0");
}
BTNode SearchX(BTNode b,char X)//查找结点X
{BTNode p;
if(b==NULL) return NULL;
else if(b->data==X) return b;
else
{
p=SearchX(b->lchild,X);
if(p!=NULL) return p;
else
{
return SearchX(b->rchild,X);
}
}
}
void SearchXSon(BTNode b,char X)//查找结点X的所有儿子
{
BTNode p,q;
p=SearchX(b,X); //找到节点X
if(p!=NULL)
{
p=p->lchild;
if(p==NULL) //X没有孩子
printf("节点%c没有儿子!",X);
else
{
printf("节点%c的所有儿子为:",X);
if(p!=NULL)
printf("%c ",p->data);
q=p->rchild;
while(q)
{
printf("%c ",q->data);
q=q->rchild;
}
}
}
else
printf("该结点不存在!");
}
void TraverseBT(BTNode b,int d)//遍历家谱
{
if(b!=NULL)
if(b->degree<d)
{
printf("%c ",b->data);
if(b->lchild!=NULL)
TraverseBT(b->lchild,d);
if(b->rchild!=NULL)
TraverseBT(b->rchild,d);
}
}
void SearchXAncestor(BTNode b,char X)//查找结点X的所有祖先
{
if(b==NULL)
{
printf("这是一棵空树!");
return ;
}
BTNode p=SearchX(b,X);
if(p->degree==0)
{
printf("X为根节点或其兄弟,没有祖先!");
return;
}
printf("%c结点的祖先有:",X);
TraverseBT(b,p->degree);
}
void Distory(BTNode b,char str)//清除全部的记录
{
(b)=NULL;
FILE fp;
fp=fopen("wangljtxt","w");
if(fp==NULL)
{
printf("打开文件失败!");
exit(1);
}
str="";
fclose(fp);
}
你懂的,同道中人!
用word的“结构组织图”功能。
一、先把绘图工具栏调出来。
右击菜单栏空白处,然后单击“绘图”打上勾,出现绘图工具栏。
二、找到“插入组织结构图”按钮
在绘图工具栏里面有一个箭头和点组成的环状按钮。它就是“插入组织结构图”按钮了。
三、绘图
选择你需要的形状,然后进行编辑。具体编辑方法在此不做赘述。
excel2010树状图制作-利用excel表格,如何制作家谱树状图
本文2023-10-18 10:19:01发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/281944.html